我已经拿到一个Type对象type,以及这个Type的一个PropertyInfo,请问我怎样知道这个Property是完全继承于type.BaseType的呢,还是在baseType里定义然后在type里被new的或是override的或是其他的情况?
谢谢指教
谢谢指教
解决方案 »
- out传递数据 和 return 返回数据 的效率比较
- 怎么样在只有路径的情况下形成一棵树呢
- ListView控件加载图片时程序无响应
- 调用DLL(C++写的)的简单问题?
- 有没有将数据表转换成c#类的工具或方法?
- asp.net控制IIS的时候出错,高手请进
- 奇怪?SQL2000的连接问题.
- 高手给个微软计算器代码,谢谢
- 绝对有价值的问题!!(太重要了)(200分重金悬赏)
- Lambda表达式根据参数查询最接近的值
- WebServices中IDataParameter类型不能被序列化,还有其他方法吗
- TempMenuItem.Click += new System.EventHandler(NewConnection);
基类:
public class BaseClass
{
string p = string.Empty;
public string Proerty { get { return p;} set {...}}
}继承类1:
public class InhertA : BaseClass
{}和
继承类2:
public class InherB : BaseClass
{
public new string Property { get{..} set{...}}
}分析出来根本没有区别嘛
这段代码试一下,不知道可不可以达到你的要求(另外,你基类里的属性名和继承类里的属性名不同,估计是手误(差一个p)我改成一样了) BaseClass ClsTest;
ClsTest= new InhertA();
System.Reflection.PropertyInfo[] ProArray= ClsTest.GetType().GetProperties();
for( int i=0;i<ProArray.Length;i++)
{
MessageBox.Show(this,ProArray[i].Name.ToString() +" From:" + ProArray[i].DeclaringType.ToString());
}
ClsTest=null;
ClsTest= new InherB(); ProArray = ClsTest.GetType().GetProperties();
for( int i=0;i<ProArray.Length;i++)
{
MessageBox.Show(this,ProArray[i].Name.ToString() +" From:" + ProArray[i].DeclaringType.ToString());
}
ClsTest=null;