据我记得具体实现接口:) 查看DateTime struct似乎实现了ISerializable。这假设实现:
void GetObjectData(SerializationInfo info, StreamingContext context);
我无法在DateTime的元数据上找到这种实现。 也:
DateTime.Now.GetObjectData(null,null);
似乎抛出编译时异常。我还没有检查过ILSpy ......
想法?
答案 0 :(得分:4)
ISerializable是explicity implemented。你可以这样调用这个方法:
ISerializable now = DateTime.Now;
now.GetObjectData(null, new StreamingContext());
//don't send null for the first parameter
答案 1 :(得分:1)
查看DateTime的来源。它在实现ISerializable
时使用显式接口实现,这意味着通过调用DateTime
实例无法看到它。
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) {
....
}
请注意,方法名称以ISerializable
为前缀。您需要将DateTime
实例视为ISerializable
实例来访问该方法。