如何在未引用的程序集中提取方法的属性值

杰克1205

我已经编写了一个C#单元测试项目“ GameTest”,其中包含三种测试方法。另外,我还为每个测试方法添加了自定义属性“ IDAttribute”。

public class IDAttribute : Attribute
{
    public IDAttribute(int id)
    {
        ...

之后,我编写了另一个应用程序,尝试提取GameTest中的所有测试方法。

var x = Assembly.LoadFrom(@"GameTest.dll");
var types = x.GetTypes();

...
foreach unit test method we found as m [Type:MethodInfo]:
    var attrs = m.GetCustomAttributes(false);
    foreach (var x in attrs)
    {
        if (x is TestCategoryAttribute)
        {
             var value = (x as TestCategoryAttribute).TestCategories;
             Console.WriteLine(string.Join(", ", value);
        }
        else if (x is IDAttribute)
        {
            ...

这里的问题是,由于没有定义,我无法直接写“ IDAttribute” [我没有引用GameTest.dll]。如果尝试引用该dll,我们将无法获得IDAttribute的任何信息。

但是,调试时可以使用Visual Studio 2010监视功能查看ID值。

那么,这个问题有什么解决方案吗?

帕夏·帕什

使用反射获取属性类型和值:

foreach (var x in attrs)
{
    var attributeType = x.GetType();
    if (attributeType.FullName == "ClassLibrary1.IDAttribute") // also check for attributeType.Assembly == loaded assembly, if needed 
    {
        var id = (int)attributeType.GetProperty("ID").GetValue(x);
        Console.WriteLine(id);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从MsTest程序集中提取测试列表?

来自分类Dev

如何从xml文件中提取属性值

来自分类Dev

如何在Jquery中提取属性?

来自分类Dev

如何在Jquery中提取属性?

来自分类Dev

如何在PostgresOperator中提取XCOM值

来自分类Dev

如何在 R 中提取输出值?

来自分类Dev

如何从特定变更集中提取

来自分类Dev

如何从 Django 查询集中提取数值?

来自分类Dev

如何从 Django 查询集中提取数据

来自分类Dev

从字典中提取属性值

来自分类Dev

从字典中提取属性值

来自分类Dev

类型“MailAddress”是在未引用的程序集中定义的

来自分类Dev

如何从最近的列表项中提取“ href”属性值

来自分类Dev

如何从Xaml中的样式中提取设置者值属性?

来自分类Dev

如何从sparql结果中提取数据属性值?

来自分类Dev

如何从每个类中提取两个值以将其放入测试集中?

来自分类Dev

如何在同一元素节点中提取第二个属性节点的值?

来自分类Dev

如何在程序集中的行中临时存储值?

来自分类Dev

如何在程序集中存储数组和指针值输入?

来自分类Dev

如何在var包中提取p值?

来自分类Dev

如何在python中提取unicode字符的真实值?

来自分类Dev

如何在字段重复的值中提取值?

来自分类Dev

如何在格式异常的数组中提取JSON值?

来自分类Dev

如何在PHP中提取HTML格式的值部分

来自分类Dev

如何在php中提取此json的值?

来自分类Dev

如何在嵌套JSON数据中提取数组值

来自分类Dev

如何在bash中提取模式但填充缺失值?

来自分类Dev

如何从JSON中提取“提取”属性?

来自分类Dev

USQL - 如何使用 xml 提取器从 xml 文件中提取属性值

Related 相关文章

热门标签

归档