TDPConscious 2021-05-24 12:14 采纳率: 47.4%
浏览 71
已结题

C# 用扩展方法获取变量名 可以实现吗?

用扩展方法的方式获取变量的名称,

    public static string GetVarName<T>(Expression<Func<T, T>> exp)
    {
        return ((MemberExpression)exp.Body).Member.Name;
    }

确实能做到获取变量名,但不是我做想要的效果。

string name;

最想要的效果 name.获取变量名();直接获取加赋值

次一级想要的效果 name=name.获取变量名();

目前的效果 name= GetVarName<string>(arg=>name);

不想要arg=>name 这一段,泛型问题能解决但是这一段我解决不了。

想问问能不能实现,不能实现的话我就不浪费时间纠结了,能的话请求指点,怎样实现。

 

  • 写回答

2条回答 默认 最新

  • Go 旅城通票 2021-05-24 15:17
    关注

    基本上谷歌和百度查询出来就是你这种,还有一种C#6(framework4.6+)以上的nameof方法(测试了web应用好像用不起,winform,控制台之类的可以)

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘