Как получить переменную, для которой определено свойство в кодерушах? - PullRequest
1 голос
/ 10 августа 2011
private int _i;

public int  Count
{
    get {  return _i;  }
}

Как получить variable _i, когда у нас есть свойство "Count" с использованием API CodeRush.

1 Ответ

1 голос
/ 11 августа 2011

Попробуйте следующий код, надеюсь, он вам поможет:

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;
}
...