如何从方法返回类型t

本文关键字:返回类型 方法 | 更新日期: 2023-09-27 17:52:46

我有下面的方法来设置IEntity的一些属性。我的总体想法是,我希望所有实现IEntity的类都使用这个帮助器。问题是,这返回IEntity,而不是类型t,怎么做呢?

    public static IEntity Create(IEntity entity, Company company)
    {
        entity.Company = company;
        entity.Key = Guid.NewGuid();
        entity.Created = DateTime.Now;
        entity.Modified = DateTime.Now;
        entity.ModifiedByUserName = "xxx";
        entity.CreatedByUserName = "xxx";
        return entity;
    }

我目前从我的控制器调用类,像这样。(TaskOrder实现IEntity)

var taskOrder = EntityHelper.Create(taskOrder (), company);

如何从方法返回类型t

阅读c#中的泛型,网上有很多相关的资料。

下面是一个基于你的代码的例子:

public static T Create<T>(T entity, Company company) where T : IEntity
{
    entity.Company = company;
    entity.Key = Guid.NewGuid();
    entity.Created = DateTime.Now;
    entity.Modified = DateTime.Now;
    entity.ModifiedByUserName = "xxx";
    entity.CreatedByUserName = "xxx";
    return entity;
}