gpt4 book ai didi

c# - 从 Dll 中提取附加方法信息

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

在我的解决方案中,我有一个 dll,其中包含以下格式的方法

    [TestMethod]
[TestProperty("Priority", "P0")]
[TestProperty("Owner", "vbnmg")]
[TestProperty("Title", "Verify the log accessible")]
[TestProperty("ID", "1")]
public void LogAccesiblityTest()
{
//Test Code
}

一些方法有不同的优先级、所有者、ID和标题

通过提供 dll 名称和搜索条件(优先级、所有者、ID 和标题),我能否获得给定优先级组或所有者组等中的方法名称

我有代码可以获取所用方法名称和参数的详细信息,但我不知道如何从测试属性中获取信息。

有人可以建议如何做到这一点。

最佳答案

听起来你只是在寻找 MethodInfo.GetCustomAttributes .鉴于你的格式,我可能会写这样的东西:

public static Dictionary<string, string> GetProperties(MethodInfo method)
{
return method.GetCustomAttributes(typeof(TestPropertyAttribute), false)
.Cast<TestProperty>()
.ToDictionary(x => x.Key, x => x.Value);
}

(当然,这是假设 TestPropertyAttribute KeyValue 属性。)

要仅检测属性的存在(您可能需要TestMethodAttribute),您可以使用MemberInfo.IsDefined .

关于c# - 从 Dll 中提取附加方法信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10345682/

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