所以,我的愿望是有一个构造函数(或方法),将所有我的类属性设置为默认值。 我这里有至今:如何将默认值设置为方法或构造函数中某个类的所有属性?
class TestClass
{
public enum MyEnum { En1, En2, En3}
public string MyString { get; set; }
public int MyInt { get; set; }
public MyEnum MyEnums { get; set; }
public TestClass()
{
var Properties = this.GetType().GetProperties();
foreach (var Property in Properties)
{
Property.SetValue(this,default(Property.GetType()));
}
}
}
我收到此错误:“‘财产’是一个变量,但使用像一个类型”(CS0118)。 我知道我可以使用结构来达到这个目的。但是实际上可以做这样的事情吗?或者我将不得不写每个财产如下: MyString = default(string)
,MyInt = default(int)
...?
感谢您的任何意见:)
是什么让你觉得该属性已经被设置为默认值?你为什么认为你需要为此编写任何自定义代码?你有没有尝试过实例化一个类_without_你的构造函数逻辑来看看这些值是什么? – maccettura
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/default-values-table –