print name of the variable in c#

前端 未结 5 1355
小鲜肉
小鲜肉 2020-12-08 17:27

i have a statement

int A = 10,B=6,C=5;

and i want to write a print function such that i pass the int variable to it and it prints me the va

5条回答
  •  死守一世寂寞
    2020-12-08 17:43

    You can use lambda expressions:

    static void Main( string[] args ) {
        int A = 50, B = 30, C = 17;
        Print( () => A );
        Print( () => B );
        Print( () => C );
    }
    
    static void Print( System.Linq.Expressions.Expression> input ) {
        System.Linq.Expressions.LambdaExpression lambda = (System.Linq.Expressions.LambdaExpression)input;
        System.Linq.Expressions.MemberExpression member = (System.Linq.Expressions.MemberExpression)lambda.Body;
    
        var result = input.Compile()();
        Console.WriteLine( "{0}: {1}", member.Member.Name, result );
    }
    

提交回复
热议问题