在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1 internal sealed class GenericTypeThatRequireAnEnum<T> 2 { 3 public static int age = 12; //该 static 字段在不同的封闭类型之间是独立不共享的 4 5 //静态构造器针对每个封闭类型都会执行一次,泛型类型定义静态构造器的目的就是为了保证传递的类型实参满足特定的条件 6 //静态类型构造器只能是私有的,不能添加访问权限修饰符,并且是由 CLR 自动调用的 7 static GenericTypeThatRequireAnEnum() 8 { 9 Console.WriteLine("T type is : {0}", typeof(T).Name); 10 if (!typeof(T).IsEnum) 11 { 12 throw new ArgumentException("T must be an enumerated type"); 13 } 14 } 使用方式: 1 enum eEnum1 { } 2 3 enum eEnum2 { } 4 5 GenericTypeThatRequireAnEnum<eEnum1> tmp1 = new GenericTypeThatRequireAnEnum<eEnum1>(); 6 GenericTypeThatRequireAnEnum<eEnum1>.age = 153; 7 GenericTypeThatRequireAnEnum<eEnum2> tmp2 = new GenericTypeThatRequireAnEnum<eEnum2>(); 8 Console.WriteLine(GenericTypeThatRequireAnEnum<eEnum2>.age); 9 //GenericTypeThatRequireAnEnum<int> tmp3 = new GenericTypeThatRequireAnEnum<int>(); //这句会报异常,因为类型实参不是每句类型 运行结果: |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论