怪物奇妙物语

宇宙无敌超级美少男的怪物奇妙物语

首页 新随笔 联系 管理
  822 随笔 :: 0 文章 :: 2 评论 :: 16万 阅读

泛型中的new关键字的约束的函数

  1. 一般用于泛型约束,在函数或者类的末尾,通过 where T : new() 约束,确保 T 类型可以被实例化。

应用场景

在封装sqlsugar中我遇到了类似的用法,传给sqlsugar中的entity必须有一个公开的无参构造函数

👇👇👇👇👇👇
public class Factory<T> where T : new()
{
public T CreateInstance()
{
return new T();
}
}
class Program
{
static void Main(string[] args)
{
Factory<MyClass> myClassFactory = new Factory<MyClass>();
MyClass myClassObj = myClassFactory.CreateInstance();
Console.WriteLine(myClassObj);
}
}
public class MyClass
{
// 👇👇👇👇👇,如何这里改成protect,必然会报错
public MyClass()
{
Console.WriteLine("MyClass constructor called.");
}
public override string ToString()
{
return "MyClass instance";
}
}
posted on   超级无敌美少男战士  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2022-08-31 css 设置某个区域可以上下滑动滚动
点击右上角即可分享
微信分享提示