[Serializable]
[CLSCompliant(true)]
public partial class City : CityBase
{
#region Constructors ///<summary>
/// Creates a new <see cref="City"/> instance.
///</summary>
public City():base(){}

#endregion
}看现成项目里面的代码,有些地方很不了解。例如:这个类上方的标记,第一个是标记这个类可以被序列化,但是没有发现序列化这个类的具体方法,是不是这个类根本就没有序列化?还有[CLSCompliant(true)]这个标记是干什么的?有什么用?

解决方案 »

  1.   

    Serializable -- 是标示这个实体类是可序列化的
    CLSCompliant -- 是表示编译时按照CLS标准翻译成IL(这样别的语言在使用这个类时不会出问题)
      

  2.   

    Serializable -- 是标示这个实体类是可序列化的
      

  3.   

    这些标记叫特性(attribute),或者叫元数据(meta data),用来给编译器/开发环境通过反射来获取的。序列化的支持是编译器幕后完成的。
      

  4.   

    http://msdn.microsoft.com/zh-cn/library/system.clscompliantattribute.aspx
      

  5.   

    如果一个类的所有成员都是简单类型,或者成员是一个被标记为Serializable的对象,那么CLR会自动序列化。