0

我正在尝试像这里一样实现属性介绍,但我的属性具有如下属性参数:[Foo(Bar = "Baz")]

如何正确传递参数?我没有从其他东西复制属性,所以我认为我不能使用 CustomAttributeData?

4

1 回答 1

1

ObjectConstruction.NamedArguments您可以使用字典设置自定义属性的属性。

例如:

public IEnumerable<AspectInstance> ProvideAspects(object targetElement)
{
    Type targetType = (Type) targetElement;

    var objectConstruction =
        new ObjectConstruction(typeof (MyCustomAttribute).GetConstructor(Type.EmptyTypes));
    objectConstruction.NamedArguments["Bar"] = "Baz";

    var introduceAttributeAspect = new CustomAttributeIntroductionAspect(objectConstruction);

    yield return new AspectInstance(targetType, introduceAttributeAspect);
}
于 2013-10-21T09:01:44.237 回答