如何获取在coderush中定义了属性的变量?

发布于 2024-11-29 08:12:41 字数 151 浏览 4 评论 0原文

private int _i;

public int  Count
{
    get {  return _i;  }
}

当我们使用 CodeRush API 拥有“Count”属性时,如何获取变量_i

private int _i;

public int  Count
{
    get {  return _i;  }
}

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仙女 2024-12-06 08:12:41

尝试以下代码,希望对您有所帮助:

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

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;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文