在我的工作上,我使用v2.0项目工作。 我需要知道这是私人领域是关系到每个属性通过具有反射C的属性获取私有字段#
class Foo {
private string _bar;
public string BigBar
{
get { return _bar; }
}}
有人知道我怎么能检查与反思
在我的工作上,我使用v2.0项目工作。 我需要知道这是私人领域是关系到每个属性通过具有反射C的属性获取私有字段#
class Foo {
private string _bar;
public string BigBar
{
get { return _bar; }
}}
有人知道我怎么能检查与反思
这种关系。如果你正在寻找的auto-like-properties,支持字段,那么唯一的方法是查看生成的IL,例如使用Mono.Cecil等工具。
您必须查找特定的IL模式,并且还必须检查后台字段是否仅用于属性中,而不是其他地方。
模式将是产生IL此块的代码:
private string _foo;
public string Foo { get { return _foo; } set { _foo = value; } }
(get
和set
是可选的,但至少有一个必须存在)
你需要的是一个反编译器,以看到类的内部工作:
虽然你只能d使用Reflection for Auto-implemented属性,请考虑使用以下开源反编译库:http://wiki.sharpdevelop.net/ILSpy.ashx。你可以反编译相关的方法,看看他们做了什么。
这不能通过反射来完成。也许你不应该需要它。 – Snowbear
你为什么要这样? – TJHeuvel
'public string Evil {get {return _foo + _bar; }}' – SLaks