DateTime缺少GetObjectData.还是我漏掉了什么?
本文关键字:掉了 什么 缺少 GetObjectData DateTime | 更新日期: 2023-09-27 18:10:09
据我所知,具体实现接口:)查看DateTime结构似乎实现了isserializable。假设实现:
void GetObjectData(SerializationInfo info, StreamingContext context);
我在DateTime的元数据上找不到这个实现。还:
DateTime.Now.GetObjectData(null,null);
似乎抛出编译时异常。我还没有检查ILSpy…
想法?
isserializable显式实现。你可以这样调用这个方法:
ISerializable now = DateTime.Now;
now.GetObjectData(null, new StreamingContext());
//don't send null for the first parameter
查看DateTime的源代码。它在实现ISerializable
时使用显式接口实现,这意味着通过调用DateTime
实例是不可见的。
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) {
....
}
请注意方法名以ISerializable
为前缀。您需要将DateTime
实例视为ISerializable
实例来访问该方法。