var classA = new
{
if (true)
{
Name = "aaa";
}
};
想向上述代码一样通过控制语句添加属性,语法不通过,
所以转想把控制语句写在外面,判断后然后让类动态添加属性,没怎么了解过,想问问大家怎么解决的
var classA = new
{
if (true)
{
Name = "aaa";
}
};
想向上述代码一样通过控制语句添加属性,语法不通过,
所以转想把控制语句写在外面,判断后然后让类动态添加属性,没怎么了解过,想问问大家怎么解决的
不能这么写,因为new的本质是匿名类型,而不是动态类型。
它是要求编译期间就确定有多少属性,并且编译好的。而不能运行是判断后再创造一个类型出来。
你可以考虑用dictionary或者dynamic + ExpandoObject
dynamic classA = new ExpandoObject();
if (...)
classA.Name = "aaa";