use*_*510 5 .net c# .net-3.5 .net-2.0
我正在阅读关于提供者patren的这篇文章.请指导我这句话是什么:
[ConfigurationProperty("providers")]
Run Code Online (Sandbox Code Playgroud)
其实我想学习什么是[]?我还在[]的Web方法上看到了这样的一行.什么是[]?有什么用?我甚至不知道要搜索我应该命名的内容吗?请指导并帮助我.
谢谢
[Foo(bla)]是属性的语法 - 关于某个类型或成员(甚至是程序集本身;或实际上是参数)的附加元数据.您可以编写自己的属性,例如:
public class ConfigurationPropertyAttribute : Attribute {
public ConfigurationPropertyAttribute(string something) {...}
}
Run Code Online (Sandbox Code Playgroud)
Attribute推断出名称,因此只[ConfigurationProperty]需要.该字符串"providers"用作构造函数参数,您还可以使用属性赋值,例如:
[Foo(123, "abc", Bar = 123)]
Run Code Online (Sandbox Code Playgroud)
寻找一个类型FooAttribute或Foo与一个构造函数的int和string,并有一个属性Bar,可以分配一个int.
大多数属性不直接执行任何操作,但您可以编写检查属性类型的代码(通过反射),这是一种非常方便的库代码知道如何使用类型的方法.
例如:
[XmlType("abc"), XmlRoot("abc")]
public class MyType {
[XmlAttribute("name")]
public string UserName {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
这个重新配置XmlSerializer(检查上述属性)将类型序列化为:
<abc name="blah"/>
Run Code Online (Sandbox Code Playgroud)
它没有属性的地方:
<MyType><UserName>blah</UserName></MyType>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4194 次 |
| 最近记录: |