使用 C# 4.0,有没有办法允许方法(不创建重载)接受字符串或 int,然后允许我检测传入的类型?
最佳答案
由于您使用的是 C# 4.0,因此您可以编写 generic method .例如:
void MyMethod<T>(T param)
{
if (typeof(T) == typeof(int))
{
// the object is an int
}
else if (typeof(T) == typeof(string))
{
// the object is a string
}
}
但是你应该非常认真地考虑这是否是一个好主意。上面的例子有点代码味道。事实上,泛型的全部意义在于泛型。如果您必须根据传入对象的类型对代码进行特殊处理,则表明您应该改用重载。这样,每个方法重载都会处理其独特的情况。我想不出这样做有什么坏处。
关于c# - 如何允许方法接受字符串或整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4907631/