日期:2014-05-18  浏览次数:20947 次

请问c#预定义的特性有哪些?
请问c#预定义的特性有哪些?我在MSDN上找不到呢?

另外,我觉得c#特性,不太好学哦

------解决方案--------------------
什么特性?
------解决方案--------------------
预定义特性?你是指.net类库里的Attribute类?
------解决方案--------------------
应该就是楼上说的。这玩意用到再搜资料,不必特地去学吧,学了用不到也记不住
------解决方案--------------------
用reflector,加载所有.net framework的dll之后,然后再看下Attribute类的Derived Types
------解决方案--------------------
AttributeUsage Class 指定另一个属性类的有效使用方式 
CLSCompliant 全部 指出程序元素是否与CLS兼容 
Conditional Method 指出如果没有定义相关联的字符串,编译器就可以忽略对这个方法的任何调用 
DllImport Method 指定包含外部方法的实现的DLL位置 
STAThread Method(Main) 指出程序的默认线程模型为STA 
MTAThread Method(Main) 指出程序的默认模型为多线程(MTA) 
Obsolete 除了Assembly、Module、Parameter和Return 将一个元素标示为不可用,通知用户此元素将被从未来的产品 
ParamArray Parameter 允许单个参数被隐式地当作params(数组)参数对待 
Serializable Class、Struct、enum、delegate 指定这种类型的所有公共和私有字段可以被串行化 
NonSerialized Field 应用于被标示为可串行化的类的字段,指出这些字段将不可被串行化 
StructLayout Class、struct 指定类或结构的数据布局的性质,比如Auto、Explicit或sequential 
ThreadStatic Field(静态) 实现线程局部存储(TLS)。不能跨多个线程共享给定的静态字段,每个线程拥有这个静态字段的副本 

C#中一些默认的预定义特性


------解决方案--------------------
C#中一些默认的预定义特性
------解决方案--------------------
http://www.cnblogs.com/dc10101/archive/2009/03/24/1420199.html

http://liutiemeng.blog.51cto.com/120361/29203
------解决方案--------------------
你直接说是哪个类吧..特性特性的..我理解就像是在问C#有什么特点..
------解决方案--------------------
原来是attribute,还以为是Preprocessor呢。

.net中的Attribute很好找

因为所有Attribute类都是从Attribute继承的,因此只要看msdn中Attribute类就可以了

http://msdn.microsoft.com/en-us/library/system.attribute(v=VS.100).aspx#inheritanceContinued

可是不少啊。
------解决方案--------------------
使用的地方很多啊。
想xmlSerialize,在定义object class的时候可以定义某个field是否被序列化

public class Group
{
// The XmlSerializer ignores this field.
[XmlIgnore]
public string Comment;

// The XmlSerializer serializes this field.
public string GroupName;
}

序列化时Comment就会被忽略。