-2

プロパティ名を文字列として取得するには?

例えば:

Public int PropertyValue{get;set;}

ここで、PropertyValue をリフレクションなしで foreach PropertyInfo なしの文字列として取得したい

4

1 に答える 1

1

私はここで解決策を見つけました: Type-safe databindingのためのC#の「nameof」演算子の欠如の回避策?

@reshefm がこのコードを持っていた場所:

class Program
{
    static void Main()
    {
        var propName = Nameof<SampleClass>.Property(e => e.Name);

        Console.WriteLine(propName);
    }
}

public class Nameof<T>
{
    public static string Property<TProp>(Expression<Func<T, TProp>> expression)
    {
        var body = expression.Body as MemberExpression;
        if(body == null)
            throw new ArgumentException("'expression' should be a member expression");
        return body.Member.Name;
    }
}

お役に立てれば :)

于 2012-12-03T07:07:28.857 に答える