相关疑难解决方法(0)

是否可以使用反射检索属性的变量名称(而不是值)?

我试图检索属性的变量名称,而不是值.我目前正在使用反射,但如果有人有其他建议,将非常感谢.

我有三节课

A:

class A 
{
    public B bObject;

    int Number { return bObject.number; } //returns 3
}
Run Code Online (Sandbox Code Playgroud)

B:

class B 
{   
    public int number = 3; 
}
Run Code Online (Sandbox Code Playgroud)

C:

class C 
{
    public void myMethod() 
    {
        A aObject = new A();

        var aNumber = aObject
            .GetType()
            .GetProperty("Number")
            .GetValue(aObject, null);

        //this is the value. aNumber = 3.
        var objName = nameof(aNumber); //returns aNumber
    }
Run Code Online (Sandbox Code Playgroud)

我希望objName返回字符串"bObject.number",即在属性中调用的变量.这可能与我目前的设置有关,如果没有,是否有人有建议?

我宁愿在B中没有另一个方法来返回"nameof(bObject)+ nameof(bObject.number)"然后由于冗余而调用该方法和prop.谢谢你的时间.

c# reflection variables properties nameof

5
推荐指数
1
解决办法
97
查看次数

无法在Roslyn的新nuget中获取方法SyntaxTree.ParseFile?

我已经安装了nuget Roslyn,Install-Package Microsoft.CodeAnalysis -Pre但我仍然无法获取方法,SyntaxTree.ParseFile因为我想在.cs文件中传递代码

任何关于为什么会这样的线索?我怎么能在这里传递文件?

.net c# asp.net-mvc compilation roslyn

4
推荐指数
1
解决办法
1236
查看次数