gpt4 book ai didi

c# - 查找具有包含特定属性值的属性的所有类

转载 作者:太空狗 更新时间:2023-10-29 21:52:11 27 4
gpt4 key购买 nike

是否有可能根据给定的属性值找到标记有自定义属性的类?

基本上,我的类看起来像这样 -

[MyAttr("CODE")]
public class MyClass() {}

从那里我得到所有的类(类型)-

var c = Assembly.GetExecutingAssembly().GetTypes().Where
(
t => t.IsClass &&
t.Namespace == (typeof(AbstractParentClass)).Namespace &&
t.IsSubclassOf(typeof(AbstractParentClass))
);

这一切似乎都有效。 c 包含所有适当的类。现在我需要从 c 获取具有属性 MyAttr 和值“CODE”的类。该值可通过 MyAttr 上名为 Id 的属性获得。

这是我的尝试-

var message = from m in c
from a in m.GetCustomAttributes(typeof(MyAttr), false)
where ((MyAttr)a).Id == "CODE"
select m;

那没有成功。因此,真正的问题是这是否可能,如果可能,需要更改什么才能获得适当的类(并实例化它)。

最佳答案

Assembly.GetExecutingAssembly() 替换为 typeof(AbstractParentClass).Assembly

关于c# - 查找具有包含特定属性值的属性的所有类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3576879/

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