c# - 创建对象泛型类

标签 c# .net oop generics

我最近遇到了一个问题,但我过去并没有在这方面做过太多工作。我有一个名为 ObjectCreator 的类,它有一个方法 Create

public static class ObjectCreator
{
    // Create method
}

我应该能够通过以下方式调用 Create 方法。

var obj1 = ObjectCreator.Create<Employee>();
var obj2 = ObjectCreator.Create<Client>();
var obj3 = ObjectCreator.Create<Company>();

以此类推任何其他类型。现在如何在这里实现 Create 方法?请记住,此处的 Create 方法不接受任何参数。谁能帮我解决这个问题?

最佳答案

public static class ObjectCreator
{
    public static T Create<T>() where T : new()
    {
        return new T();
    }
}

我添加了 T: new() 约束(强制类型 T 具有默认构造函数)和 return 语句只是为了说明一种可能的用例。

关于c# - 创建对象泛型类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22141994/

相关文章:

c# - 如何获取用于强名称的 .Net 程序集的哈希值?

javascript - OOP 使用闭包内部的新数据设置传入变量?

c# - WinForms ComboBox - 单击文本输入时的事件

c# - 您可以从系统中获取默认文件夹的打开/关闭图标而没有实际路径吗?

c# - EF 4.1 引用完整性错误

c# - ItextSharp 将图像缩放/调整大小为 PDF

class - 在 TypeScript 中如何强制继承的类实现一个方法

class - 'o = o or {}'在Lua中做什么?

c# - 具有多个 OR 条件的 Linq to Entity Join 表

c# - 确定文本字符串中的行数?