如
[Serializable]
[MethodImpl(MethodImplOptions.InternalCall)]
是什么意思?比如
[Serializable]
public class test{...}.net 框架里是怎么知道这个类能序列化的,.net的代码是怎么样实现的?
[Serializable]
[MethodImpl(MethodImplOptions.InternalCall)]
是什么意思?比如
[Serializable]
public class test{...}.net 框架里是怎么知道这个类能序列化的,.net的代码是怎么样实现的?
解决方案 »
- 求C#获取数据库时间的代码!
- Response.Write("alert('" + msg + "');");背景为空白的问题
- 有没有一种方法把 String 类型 转换成 byte[] 类型 ?在线
- 想实现一个功能 在listview中的一列中,加入进度条的功能
- 《求助》怎么用c#做一个word一样的表格
- 在winform中如何实现文字平滑上滚
- 请问各位,如果让在.net下开发的程序,在非.NET平台下运行?
- c#,winform编程问题
- 我想仿做IE文本框缓存已提交数据出现的下拉框,怎么做?
- 我装了studio.net 2003,我打开项目文件时报错,急救!!!
- 怎样启动"sql server browser"服务?
- 异步调用的问题
就标记了这个类能进行序列化了嘛~ 将类进行实例化之后,便可将该实体进行序列化流存储了
Here is simplified example:
[Serializable]
class A
{
}
class B
{
}
private void button1_Click(object sender, EventArgs e)
{
A a = new A();
B b = new B(); bool r1 = MyIsSerializable(a.GetType()); //true
bool r2 = MyIsSerializable(b.GetType()); //false
}
bool MyIsSerializable(Type t)
{
foreach (object o in t.GetCustomAttributes(false)) //get all attributes of the type
{
if( o is System.SerializableAttribute ) return true; //check whether there is a SerializableAttribute
}
return false;
}
什么意思啊?
还有一些特性是需要自己在编码的时候加上去来表示你想让这个类或者方法或者字段拥有的特殊元数据,.net这样做是因为它不知道这些元数据是否是用户所必须的,比如说serializable 特性,因为.net默认所有的类都不是可序列化的,因此你想让自己类可以序列化的话,需要加上此特性。
至于.net是如何来序列化的,这是开发.net的程序员的事情,这些事情和我们无关,我们无需知道,.net的程序员也不会让我们知道,因为.net不是开源的,所以不要再去想这些只有.net的程序员知道的事情了