Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# [ConfigurationProperty(“提供者”)做什么?_C#_.net_.net 3.5_.net 2.0 - Fatal编程技术网

C# [ConfigurationProperty(“提供者”)做什么?

C# [ConfigurationProperty(“提供者”)做什么?,c#,.net,.net-3.5,.net-2.0,C#,.net,.net 3.5,.net 2.0,我正在帕特伦电视台读这篇文章。请指导我该如何做此声明: [ConfigurationProperty("providers")] 实际上我想知道什么是[]?我在web方法上也看到了这样一行[]。什么是[]?有什么用?我甚至不知道搜索我应该给它取什么名字?请引导和帮助我 谢谢如果您正在写一些东西来读取web或app.config中的设置,您可以创建一个配置部分。这就是声明ConfigurationProperty的地方 签出[Foo(bla)]是属性的语法-关于某些类型或成员(甚至程序集本身;

我正在帕特伦电视台读这篇文章。请指导我该如何做此声明:

 [ConfigurationProperty("providers")]
实际上我想知道什么是[]?我在web方法上也看到了这样一行[]。什么是[]?有什么用?我甚至不知道搜索我应该给它取什么名字?请引导和帮助我


谢谢

如果您正在写一些东西来读取web或app.config中的设置,您可以创建一个配置部分。这就是声明
ConfigurationProperty
的地方

签出

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

public class ConfigurationPropertyAttribute : Attribute {
    public ConfigurationPropertyAttribute(string something) {...}
}
名称
属性
是推断的,因此只需要
[ConfigurationProperty]
。字符串
“providers”
用作构造函数参数,您也可以使用属性赋值,例如:

[Foo(123, "abc", Bar = 123)]
[XmlType("abc"), XmlRoot("abc")]
public class MyType {
    [XmlAttribute("name")]
    public string UserName {get;set;}
}
查找类型
FooAttribute
Foo
,其构造函数接受
int
字符串
,并具有可分配
int
的属性
Bar

大多数属性不直接执行任何操作,但您可以编写代码检查属性的类型(通过反射),这是库代码了解如何使用类型的一种非常方便的方法

例如:

[Foo(123, "abc", Bar = 123)]
[XmlType("abc"), XmlRoot("abc")]
public class MyType {
    [XmlAttribute("name")]
    public string UserName {get;set;}
}
这将重新配置
XmlSerializer
(检查上述属性)以将类型序列化为:

<abc name="blah"/>

如果没有这些属性,它将是:

<MyType><UserName>blah</UserName></MyType>
废话
这是用属性装饰代码的C#语法:。