c# 泛型的静态成员

Posted 勥小透明

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 泛型的静态成员相关的知识,希望对你有一定的参考价值。

先来看一下代码


    public class StaticDemo<TType>
    
        public static int iValue;
        public static TType tValue;
    
    
    public class TestStaticMonoBehaviour : MonoBehaviour
    
        private void Start()
        
            StaticDemo<int>.iValue = 1;
            StaticDemo<int>.tValue = 1;
            StaticDemo<string>.iValue = 2;
            StaticDemo<string>.tValue = "2";

            string log = $"1 = StaticDemo<int>.iValue StaticDemo<int>.tValue";
            Debug.LogError(log);
            log = $"2 = StaticDemo<string>.iValue StaticDemo<string>.tValue";
            Debug.LogError(log);
        
    

可以大胆的猜测一下输出结果。

结果就是,不只是泛型成员本身,就连普通成员也是2份了。

c#的这个特性,需要我们特别关注一下,不过基于这个特性,也可以写出很好用的代码工具。

以上是关于c# 泛型的静态成员的主要内容,如果未能解决你的问题,请参考以下文章

c# 泛型的静态成员

所有 C# 泛型实例的静态成员变量是不是通用?

c# 中的泛型 & 访问 T 的静态成员

C#泛型参数的数据结构还原?

C#:泛型的语义?

C# 泛型的使用