【发布时间】:2016-03-08 01:30:58
【问题描述】:
我有一个类似下面的方法,我想用输入字符串设置它的值。
我会怎么做呢?任何建议将不胜感激
private static void QueueCheckNAdd<T>(ref T param, string input)
{
param.DoSomethingLikeSetValue(input);
}
供您参考,泛型类型类似于 int 或 double
【问题讨论】:
-
如果
T只是int或double,您可能只想编写几个具体的方法来使用int.Parse()和double.Parse()执行转换。如果您的方法只能用于一小部分固定的类型,那么它就不是真正的通用方法。使用具体方法还允许您编写没有强制转换的方法。 -
旁注:没有很好的方法将泛型类型限制为
int/double- 因此,如果您正在编写可能使用的代码,您需要验证它是否适用于所有允许的类型.... -
我想考虑到有一天我可能不得不适应不同的类型。我的意思是,现在它只分配给 int 和 double 的数据类型