首页 > 解决方案 > 使用工厂方法后使用大括号填充属性

问题描述

是否可以创建一个返回新对象的方法,我仍然可以在其中使用:

{ variable 1 = "content1", variable2 = "content2" }

因为现在在获取对象后,我使用了以下内容:

tempObject.variable1 = "content1";
tempObject.variable2 = "content2";

例如:

var tempNewObject = MDBShorterManager.Create<TblUser>() { variable1 = "content1", variable2 = "content2" };

我目前的方法:

public T Create<T>() where T : MDBShorter
{
    try
    {
        var tempObject = (T)Activator.CreateInstance(typeof(T));

        tempObject.mdbShorterManager = this;

        try
        {
            actionInjectDataToMDBShorter?.Invoke(tempObject);
        }
        catch(Exception ex)
        {
            ErrorLog.cw(ex.Message);
        }

        return tempObject;
    }
    catch (Exception ex)
    {
        ErrorLog.cw(ex.Message);
        return null;
    }
}

标签: c#propertiesinstancecurly-bracesgeneric-type-argument

解决方案


不,在创建帖子时,C# 中还没有这样的东西。也许他们将来会添加这种语法糖,但目前它只能与构造函数调用旁边的“new”关键字一起使用。


推荐阅读