如何创建可以采用不同类型变量的函数? 我想做这样的事情:
MyFunction("text");
MyFunction(2);
我知道这是可能的,因为有许多编码人员使用这些类型的功能,但我不知道如何制作它。
答案 0 :(得分:7)
在.NET
中,您可以使用相同的返回类型但具有不同数量的参数和不同类型的相同方法名称。
所以,例如
private string Return(string entity)
{
return entity;
}
private string Return(bool entity)
{
return entity.ToString();
}
它们都会返回string
类型,但会接受bool
或string
。
另一种方法是制作generic method
object
string
int
bool
type
private string ReturnType<T>(T entity) where T : class
{
return entity.ToString();
}
的基本类型{ {1}}作为参数。
类似的东西:
T class
请注意,只有当ToString()
使用overriden
方法where
时,上述内容才能正常运行。
正如@StanR所指出的,要对基本类型使用泛型方法,请使用不具有 private string ReturnType<T>(T entity)
{
return entity.ToString();
}
子句的方法,例如:
var