是否有语法技巧可以在不指定(临时)类型的情况下获取泛型类中的常量?
public class MyClass<T>{
public const string MyConstant = "fortytwo";
}
// I try to avoid this type specification.
var doeswork = MyClass<object>.MyConstant;
// Syntax similar to what I'd like to accomplish.
var doesnotwork = MyClass.MyConstant;
有一个关于静态变量(常量)不能在不同类型之间共享的警告,例如MyClass<object>
and MyClass<int>
但我的问题是关于可能的可用语法技巧。
使用非泛型抽象父类。
public abstract class MyClass
{
public const string MyConstant = "fortytwo";
}
public class MyClass<T> : MyClass
{
// stuff
}
var doeswork = MyClass.MyConstant;
当然,这是假设由于某种原因,常量需要成为泛型类的一部分;如果它具有公共可访问性,我看不出您为什么不将其放在单独的类中的原因。
拥有一个非泛型抽象父类是一个好主意every你创建的通用类;泛型类实际上是特定子类型类的模板,而不是真正的父类,因此拥有真正的非泛型父类可以使某些技术(例如但当然不限于此)变得更加容易。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)