//示例类
public class TestA
{
[XmlAnyElement(Name="TestAttributeName")]
public string TestAProperty { get; set; }
}
public class TestB
{
[TestOtherAttribute(Other="TestAttributeName")]
public string TestBProperty { get; set; }
}
//现在要获取TestA、TestB以及其他更多类的某个属性的特性TestAProperty 的值
//如:TestA->TestAProperty->XmlAnyElement->Name的值;
//TestB->TestBProperty->TestOtherAttribute->Other的值;
//注意:
//类是匿名的,属性也是匿名的,特性同样匿名//目的:
//实现下面的方法
public static void XConvert<TSource,TTarget>(TSource objA)
{
var typeA = objA.GetType();
var ps1 = typeA.GetProperties();
foreach (PropertyInfo p1 in ps1)
{
var attA = p1.GetCustomAttributes(false);
if (attA.Length > 0)
{
var attType = attA.GetType();
var ap1 = attType.GetProperties();
foreach (PropertyInfo ap in ap1)
{ }
}
}
var res = System.Activator.CreateInstance(typeof(TTarget));
//return res;
}求教育!求指点!求讨论!
解决方案 »
- c#调用c++dll参数问题
- Oracle使用类似SqlServer Top语句
- c# 中 “=>“ 是什么含义?
- 引发的TypeLoadException 异常 求高人帮我看看 我哪里做错了
- 一个关于反射的小程序(在线等!)
- 呵呵,大家好!最近我用Dreamweaver在服务器上做修改一个网站,却出现了一个配置错误,请大家速速帮忙解决哦
- 请问Visual Studio Tools for the Microsoft Office System
- 高分求帮忙, HMACSHA1问题
- c/s模式中图片的远程传输问题
- 菜鸟问题
- 求救:动态查询后绑定bindingSource1.DataSource,保存后值却没有改变。
- 如何从一个二维数组中的任意位置,复制一块数组到另一个二维数组中?
ap是不可以访问FullName var attType = attA[0].GetType();
var ap1 = attType.GetProperties();
foreach (PropertyInfo ap in ap1)
{
var obj=ap.GetValue(attA[0], null);
if(obj!=null&&!string.IsNullOrEmpty(obj.ToString()))
valuesA.Add(obj.ToString());
}