我正在设计一个自定义属性类.
public class MyAttr: Attribute
{
public ValueRange ValRange { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后我试图将此属性分配给相邻类中的属性:
public class Foo
{
[MyAttr(ValRange= new ValueRange())]
public string Prop { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
但是,编译器抱怨以下内容:
'ValRange'不是有效的命名属性参数,因为它不是有效的属性参数类型
我也尝试将ValueRange类转换为a struct,希望成为值类型可以解决问题.有没有办法解决?
我试图测试我的基本控制器是否装饰了某个动作过滤器.因为这个过滤器的构造函数看起来web.config,我第一次尝试测试失败,因为测试项目没有有效的配置文件.继续,我使用了一个TestConfigProvider我注入到过滤器构造函数中,但是下面的测试失败了,因为配置提供程序没有传递给构造函数.如果应用此过滤器,我还能怎么测试?
[TestMethod]
public void Base_controller_must_have_MaxLengthFilter_attribute()
{
var att = typeof(BaseController).GetCustomAttribute<MaxLengthFilter>();
Assert.IsNotNull(att);
}
Run Code Online (Sandbox Code Playgroud)