我想创建一个简单的通用功能C#:如何使用泛型方法与“走出去”可变
void Assign<T>(out T result)
{
Type type = typeof(T);
if (type.Name == "String")
{
// result = "hello";
}
else if (type.Name == "Int32")
{
// result = 100;
}
else result = default(T);
}
用法:
int value;
string text;
Assign(value); // <<< should set value to 100
Assign(text); // <<< should set text to "hello"
我的问题是你如何编写代码来设置这些值即。在评论部分缺少的代码。
感谢您的任何帮助。
非常感谢;这工作。 为什么我使用的通用方法的原因是为了简化我的代码。 因为“分配代码”时,才需要针对特定类型(例如,字符串);为每种可能的类型创建重载函数将会很糟糕。 result = default(T)//是常见行为 – 2009-11-14 22:16:48
我不同意你的看法。我认为超载就是这样。只在需要时才使用泛型。 – Sheldon 2009-11-14 22:22:52