|
|
1
19
是否要使用t=每个属性的类型来调用dostuf<t>?在这种情况下,“原样”需要使用反射和makeGenericMethod,即
不过,这不是很漂亮。事实上,我想知道,仅仅拥有:
在这个例子中,泛型给了您什么?请注意,在反射调用期间,值类型仍然会被装箱,甚至装箱。 isn't as bad as you might think . 最后,在许多场景中,typescriptor.getproperties()比type.getproperties()更合适—允许灵活的对象模型等。 |
|
|
2
7
您的构造函数代码是否打算这样读:
?注意
如果是这样的话,问题是当泛型确实不适用时,您正在尝试使用它们。泛型的要点(好吧,其中之一)是使用编译时类型安全性。在这里,您在编译时不知道类型!您可以通过反射调用该方法(获取打开的窗体,然后调用 MakeGenericMethod )但那很难看。
做
|
|
|
3
2
如果您不使用其他地方的dostuff,我还建议编写一个非泛型方法。 也许您创建了通用方法来使用默认值(T)。要在非泛型方法中替换它,可以对值类型使用Activator.CreateInstance(T),对引用类型使用空值:
|
|
|
matt · 为什么在使用泛型参数时可以进行强制转换,而在指定了参数后则不能 10 月前 |
|
|
Pavel Foltyn · 如何在C中生成逆字典# 11 月前 |
|
Daniel · C#编译器在应该出错时失败 11 月前 |