鉴于这门课程
class Foo
{
// Want to find _bar with reflection
[SomeAttribute]
private string _bar;
public string BigBar
{
get { return this._bar; }
}
}
Run Code Online (Sandbox Code Playgroud)
我想找到我将用属性标记的私有项_bar.那可能吗?
我已经用我寻找属性的属性做了这个,但从来没有私有成员字段.
获取私有字段需要设置哪些绑定标志?
public class Foo
{
private Bar FooBar {get;set;}
private class Bar
{
private string Str {get;set;}
public Bar() {Str = "some value";}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我有类似上面的内容并且我有一个Foo的引用,我怎么能用反射来获得价值Str out Foo的FooBar?我知道没有任何理由可以做这样的事情(或者很少的方式),但我认为必须有办法做到这一点,我无法弄清楚如何实现它.
编辑,因为我在正文中提出的错误问题与标题中的正确问题不同
我最近接受了C#问题的采访.其中一个我找不到答案.
我得到了一堂课,看起来像这样:
public class Stick
{
private int m_iLength;
public int Length
{
get
{
return m_iLength;
}
set
{
if (value > 0)
{
m_iLength = value;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
还有一个主要课程
static void Main(string[] args)
{
Stick stick = new Stick();
}
Run Code Online (Sandbox Code Playgroud)
任务是向main添加代码,这将导致m_iLength
Stick类为负(并且强调它可以完成).
我好像想念一些东西.数据成员是私有的,据我所知get和set函数是int类型的值,所以我不知道如何做到这一点.