[ConfigurationProperty(“provider”)]做了什么?

时间:2011-05-04 06:22:04

标签: c# .net .net-3.5 .net-2.0

我正在提供商patren上阅读此article。请指导我做什么:

 [ConfigurationProperty("providers")]

其实我想学习什么是[]?我还在[]的Web方法上看到了这样的一行。什么是[]?有什么用?我甚至不知道要搜索我应该命名的内容吗?请指导并帮助我。

由于

2 个答案:

答案 0 :(得分:5)

[Foo(bla)]是属性的语法 - 关于某个类型或成员的附加元数据(甚至是程序集本身;或者实际上是参数)。您可以编写自己的属性,例如:(/ p>)

public class ConfigurationPropertyAttribute : Attribute {
    public ConfigurationPropertyAttribute(string something) {...}
}

推断出名称Attribute,因此只需要[ConfigurationProperty]。字符串"providers"用作构造函数参数,您也可以使用属性赋值,例如:

[Foo(123, "abc", Bar = 123)]

查找类型FooAttributeFoo,其构造函数带有intstring,并且具有属性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的来源。

查看http://msdn.microsoft.com/en-us/library/system.configuration.configurationpropertyattribute(v=VS.100).aspx