我正在提供商patren上阅读此article。请指导我做什么:
[ConfigurationProperty("providers")]
其实我想学习什么是[]?我还在[]的Web方法上看到了这样的一行。什么是[]?有什么用?我甚至不知道要搜索我应该命名的内容吗?请指导并帮助我。
由于
答案 0 :(得分:5)
[Foo(bla)]
是属性的语法 - 关于某个类型或成员的附加元数据(甚至是程序集本身;或者实际上是参数)。您可以编写自己的属性,例如:(/ p>)
public class ConfigurationPropertyAttribute : Attribute {
public ConfigurationPropertyAttribute(string something) {...}
}
推断出名称Attribute
,因此只需要[ConfigurationProperty]
。字符串"providers"
用作构造函数参数,您也可以使用属性赋值,例如:
[Foo(123, "abc", Bar = 123)]
查找类型FooAttribute
或Foo
,其构造函数带有int
和string
,并且具有属性Bar
,可以是分配了int
。
大多数属性都没有做任何直接,但您可以编写检查属性类型的代码(通过反射),这是一种非常方便的库代码方式知道如何处理类型。
例如:
[XmlType("abc"), XmlRoot("abc")]
public class MyType {
[XmlAttribute("name")]
public string UserName {get;set;}
}
重新配置XmlSerializer
(检查上述属性)以将类型序列化为:
<abc name="blah"/>
没有属性的地方:
<MyType><UserName>blah</UserName></MyType>
答案 1 :(得分:1)
如果您要编写某些内容以从Web或app .config中读取设置,则可以创建配置部分。这是声明ConfigurationProperty
的来源。