Csharp/C#教程:是否在类型之间共享generics类的静态成员分享


是否在类型之间共享generics类的静态成员

我正在尝试创建一个generics类,它将根据类型具有一些静态函数。 每种类型都有静态成员吗​​? 或者只有在使用通用的地方? 我问的原因是我想要每种类型的锁对象,而不是它们之间共享的对象。

所以,如果我有

class MyClass where T:class { static object LockObj = new object(); static List ObjList = new List(); } 

我理解ObjList肯定会为每个使用的generics类型创建一个不同的对象,但LockObj在每个generics实例化( MyClassMyClass )之间是不同的还是相同的?

请自己检查一下!

 public class Static { public static int Number { get; set; } } static void Main(string[] args) { Static.Number = 1; Static.Number = 2; Console.WriteLine(Static.Number + "," + Static.Number); } // Prints 1, 2 

对于每个T,它将是不同的。基本上,对于所有不同的T,您将具有不同的类型,并且不在不同类型之间共享成员。

C#中的实例化generics类型在运行时实际上是不同的类型,因此不会共享静态成员。

上述就是C#学习教程:是否在类型之间共享generics类的静态成员分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/954008.html

(0)
上一篇 2021年11月20日
下一篇 2021年11月20日

精彩推荐