当然可以如下:
Type t = this.GetType();
MethodInfo mii = t.GetProperty("a").GetGetMethod();
Console.WriteLine(mii.Invoke(this,null));
Type t = this.GetType();
MethodInfo mii = t.GetProperty("a").GetGetMethod();
Console.WriteLine(mii.Invoke(this,null));
解决方案 »
- 找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
- 如何正确的取得文件的路径,如何正确的取得文件的路径
- C# 获取IP问题
- 点击一个窗口的button,同时触发另一个窗口的button!
- 关于路径的问题,急!!!
- TreeView 判断点击是否为节点
- 求三层架构的TreeView(树目录),使用remoting通信
- 请大家帮忙看看这个SOCKET程序..
- winForm的DataGrid,有一个checkBox列,如何改变该列的背景色?
- 在一个解决方案里面直接Copy一个现有的类文件,然后想调用它里面的方法。实例化时报错“未引用该类”。这是为什么?
- (帖子太多了,就没人看到我的帖子,100分啊)如何把一个不可序列化的对象存入数据库
- OleDbDataReader.Read()不会自动转到下一行吗?在线等,晚上结帖
static void Main(string[] args)
{
MoneyHome.Class.DataOperate d = new MoneyHome.Class.DataOperate();//实例
Type t = d.GetType();
MessageBox.Show(t.Namespace,"DataOperate类的命名空间");
MessageBox.Show(t.IsClass.ToString(),"DataOperae是不是一个类");
MemberInfo[] m = t.GetMembers();
StringBuilder st = new StringBuilder(800);
foreach(MemberInfo m1 in m)
{
st.Append("Members: ");
st.Append(m1.ToString());
st.Append("\n");
}
同样的道理,你可以通过 t.GetProperty("xxx").GetSetMethod()来设置值
{
Console.WriteLine( pInfo.Name );
}
异常详细信息: System.Reflection.AmbiguousMatchException: 发现不明确的匹配。
源错误:
Type t = pdt.GetType();
PropertyInfo[] arrpf= t.GetProperties();
foreach(PropertyInfo pf in arrpf)
{
MethodInfo mf = t.GetProperty(pf.Name).GetGetMethod(); <------------------在这错
object objx = mf.Invoke(pdt,null);
}
PropertyInfo[] arrpf= t.GetProperties();
foreach(PropertyInfo p in arrpf)
{
MethodInfo mii = t.GetProperty(p.Name).GetGetMethod();
Console.WriteLine(mii.Invoke(this,null));
}
我这里没有问题
Type t = this.GetType();
PropertyInfo[] arrpf= t.GetProperties();
foreach(PropertyInfo p in arrpf)
{
// MethodInfo mii = t.GetProperty(p.Name).GetGetMethod();
// Console.WriteLine(mii.Invoke(this,null));
Console.WriteLine(p.GetValue(this,null).ToString());
}