Question

private int _i;

public int  Count
{
    get {  return _i;  }
}

How to get the variable _i when we have the property "Count" using CodeRush APIs.

Was it helpful?

Solution

Try the following code, hopefully it will be of some help:

Variable GetPropertyVariable(Property property)
{
  if (property == null)
    return null;

  Get getter = property.Getter;
  if (getter == null)
    return null;

  Return returnStatement = getter.FindChildByElementType(LanguageElementType.Return) as Return;
  if (returnStatement == null)
    return null;

  Expression returnExpression = returnStatement.Expression;
  ElementReferenceExpression targetExpression = returnExpression as ElementReferenceExpression;
  if (targetExpression == null)
    targetExpression = returnExpression.FindChildByElementType(LanguageElementType.ElementReferenceExpression) as ElementReferenceExpression;
  if (targetExpression == null)
    return null;

  return targetExpression.GetDeclaration(true) as Variable;
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top