Search code examples
c#outtryparse

AutoProperty as out value


Why exactly I can't use an AutoProperty as an out parameter?

For example (This gives me an error):

public int HeightValue { get; set; }

//...

private void Parse()
{
    int.TryParse(WidthText.Text, out HeightValue);
    //Intellisense Error: out argument is not classified as a variable
}

Solution

  • Possibly because properties are in essence methods and you need to give a field to set the value to the out parameter. You can define a backing field for your property and give its value as the out parameter.

    See Jon Skeet's answer here:

    Passing a property as an 'out' parameter in C#