背景:类构造函数可以具有名称与其属性相同的参数,并使用this
关键字解析分配。简化示例:
public MyClass(string Thing1, string Thing2)
{
this.Thing1 = Thing1;
this.Thing2 = Thing2;
}
对象初始化器怎么样?我想实例化一个对象,从传递给当前方法的同名参数设置属性Amount
和Percentage
。
如何限定Amount
和Percentage
以区分对象属性和方法参数?
答案 0 :(得分:2)
我猜你没有使用对象初始值设定项,而只是将大括号与参数分配给自身。使用对象初始值设定项,它只是有效。
这是最小的复制品:
private static void Dosomething(string Name)
{
{ Name = Name };//Assignment made to same variable error
var test = new TestClass{ Name = Name };//Works fine
}
class TestClass
{
public string Name { get; set; }
}