为什么我不能将AutoProperty
用作out
参数?
例如(这给我一个错误):
public int HeightValue { get; set; }
//...
private void Parse()
{
int.TryParse(WidthText.Text, out HeightValue);
//Intellisense Error: out argument is not classified as a variable
}
答案 0 :(得分:1)
可能因为属性本质上是方法,您需要提供一个字段来将值设置为out参数。您可以为属性定义支持字段,并将其值作为out参数。
请参阅Jon Skeet的答案:
答案 1 :(得分:0)
该方法本身需要一个变量作为out参数。它必须有一个存储位置,它只能写入值。不是属性,也不是它需要调用的任何东西:只是一个存储位置。财产不满足该要求。因此,方法中的编译器无法做到这一点。