gpt4 book ai didi

c# - 如何在 DynamicProxy 类中使​​用自定义属性

转载 作者:太空宇宙 更新时间:2023-11-03 11:37:21 25 4
gpt4 key购买 nike

我试图将自定义属性分配给来自动态代理的类

System.Data.Entity.DynamicProxies.Login_A2947F53...

示例类登录

public partial class Login
{
[CustomAttribute]
public virtual int Id
{
get;
set;
}
}

现在我尝试使用泛型和反射访问属性

public static void Process(TSource source)
{
foreach (PropertyInfo p in target.GetType().GetProperties(flags))
{
object[] attr = p.GetCustomAttributes(true); // <- empty
}
}

但是没有属性。这是由于 DynmaicProxy 还是我在这里做错了什么?

当我像这样使用一个没有动态代理的具体类时,我就得到了属性。

public class TestObject
{
[CustomAttribute]
public virtual string Name { get; set; }
[CustomAttribute]
public virtual string Street { get; set; }
public virtual int Age { get; set; }
public virtual string Something { get; set; }
}

最佳答案

OK,这个仔细一看就很明显了;

System.Data.Entity.DynamicProxies.Login_A2947F53...

是一个 dynamicProxy 类型,对任何属性一无所知。所以我必须使用类似的东西:

foreach (PropertyInfo p in typeof(Login).GetProperties(flags))

而不是从中获取类型的 dynamicProxy 实例。最后是我的属性。

关于c# - 如何在 DynamicProxy 类中使​​用自定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5816599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com