美文网首页
C#里 泛型Where和 new()的使用

C#里 泛型Where和 new()的使用

作者: 周末的游戏之旅 | 来源:发表于2019-09-23 11:37 被阅读0次

    在C#中,泛型的使用非常广泛,为了泛型调用安全,经常需要对所使用的类型进行约束。
    在对泛型的约束中,最常使用的关键字有where 和 new。
    其中where关键字是约束所使用的泛型,该泛型必须是where后面的类,或者继承自该类。
    new()说明所使用的泛型,必须具有无参构造函数,这是为了能够正确的初始化对象
    where和new()的表达和使用方式如下:

    public Class A
    {
        publc ClassA()
        {
            Console.WriteLine("A具有无参构造函数")
        }
    } 
    public Class B : ClassA
    {
            public ClassB() : base()
            {
            Console.WriteLine("B也有无参构造函数")
            }
    }
    public ClassC 
    {
         public void Func<T>( )  where T : ClassA , new()
        {
            Console.WriteLine("使用了Func方法")
        }
    }
    public ClassD
    {
        ClassC classC = new ClassC();
        classC.Func<ClassB>();
    }
    

    相关文章

      网友评论

          本文标题:C#里 泛型Where和 new()的使用

          本文链接:https://www.haomeiwen.com/subject/imwfyctx.html