LZ理解什么是序列化吗?序列化是指将数据转换成字节流的形式便于在不同介质或者在网络中传递,因此包含了数据的实体类是可以被序列化的。
而静态类只是封装了一系列操作,本身并不包含用于传递的数据。因此既不可能也没有必要序列化静态类。
默认情况下,静态类无法被序列化,因为无法实例化对象;类的静态属性无法序列化,因为静态属性属于类而非具体实例
那么一个功能类呢?能被序列化吗?
ISerilizable
一个类要能序列化,必须在类名前加上标志:
[Serializable]
public class AccountModel
{
public int Id { get; set; }
public string Account { get; set; }
public string Password { get; set; }
}
由于静态类无法实例化,所以得到类型的变量,那么就不能序列化或反序列化变量了。
Serialize.AccountModel model = new Serialize.AccountModel
{
Id = 1,
Account = "administrator",
Password = "123456"
};
string text = Serialize.SerializHelper<Serialize.AccountModel>.Instance.Serialize(model);
Console.WriteLine("text:"+text+"\r\nLength:"+text.Length.ToString());
model = Serialize.SerializHelper<Serialize.AccountModel>.Instance.Desrialize(text);
if (model != null)
Console.WriteLine("Account:" + model.Account+",Password:"+model.Password);
不过楼主可以尝试创建一个实体类,并添加你想要的属性,将静态类中的属性赋给实体类的属性,最后再进行序列化或反序列化实体类。
本身序列化一个类这个想法就是错的.
需要序列化和反序列化的是对象而不是类.
静态类是没有对象的也就谈不上序列化,
静态的东西要传输和储存直接赋值就行了.因为只有一个