C# 自动属性作为输出值

C# 自动属性作为输出值,c#,out,tryparse,C#,Out,Tryparse,为什么我不能使用AutoProperty作为out参数 例如(这给了我一个错误): 可能是因为属性本质上是方法,您需要提供一个字段来设置out参数的值。可以为属性定义支持字段,并将其值作为out参数 请参见Jon Skeet的回答: 方法本身需要一个变量作为out参数。它必须有一个可以写入值的存储位置。不是一个属性,也不是它需要调用的任何东西:只是一个存储位置。属性不满足该要求。因此,编译器无法在方法中执行任何操作来允许此操作 public int HeightValue { get; set;

为什么我不能使用
AutoProperty
作为
out
参数

例如(这给了我一个错误):


可能是因为属性本质上是方法,您需要提供一个字段来设置out参数的值。可以为属性定义支持字段,并将其值作为out参数

请参见Jon Skeet的回答:


方法本身需要一个变量作为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
}