美文网首页
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()的使用

    在C#中,泛型的使用非常广泛,为了泛型调用安全,经常需要对所使用的类型进行约束。在对泛型的约束中,最常使用的关键字...

  • 泛型

    泛型 Why:为什么需要泛型 What:泛型是什么; How:泛型怎么实现 When:泛型什么时候使用 Where...

  • typescript 难点梳理

    1.new关键字在类型中的使用 泛型 在泛型里使用类类型 在TypeScript使用泛型创建工厂函数时,需要引用构...

  • Swift Founction 和 Closures

    可变参数数量和参数泛型约束 可以使用 ..., 来设置可变参数数量 使用 where 约束泛型实现特定的协议 方法...

  • C# where用法

    C# where用法 where 子句用于指定类型约束,这些约束可以作为泛型声明中定义的类型参数的变量。1.接口约...

  • C# 泛型 泛型与非泛型集合

    一、为什么使用泛型编程? 参考C#泛型编程[https://zhuanlan.zhihu.com/p/401837...

  • C#基础提升系列——C#泛型

    C# 泛型(Generics) 泛型概述 泛型是C#编程语言的一部分,它与程序集中的IL(Intermediate...

  • C#---API-02(Application Programm

    一、泛型概述 1. 泛型 1.1 泛型是什么? 泛型(generic)是C#语言2.0和通用语言运行时(CLR)得...

  • Java-API-集合框架(三)-泛型

    泛型的由来和基本使用 泛型的擦除 泛型类的使用 泛型方法的使用 泛型接口 泛型通配符(?) 通配符? 在api中的...

  • C#基础提升系列——C#集合

    C#集合 有两种主要的集合类型:泛型集合和非泛型集合。 泛型集合被添加在 .NET Framework 2.0 中...

网友评论

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

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