0
被敲我的頭這一段時間現在如何構建類來實現IEquatable和ISerializable的
我正試圖添加IEquatable行爲,使我的派生類可以使用ILINK等的集合運算相交問題
目前,我有...
public interface ILink
{
int Linkid { get; set; }
bool IsActive { get; set; }
}
和像
public class Domain : ILink
{
public Domain(){}
}
public class User : ILink
{
public User(){}
}
一堆派生類的
所以爲了做列表 的十字路口,我想我會創建一個抽象類,像這樣......
public abstract class AbstractLink : IEquatable<ILink>, ISerializable, ILink
{
public AbstractLink(){}
public AbstractLink(SerializationInfo info, StreamingContext ctxt)
{}
public virtual void GetObjectData(SerializationInfo info, StreamingContext ctxt)
{}
}
但是當我從
public class DomainLink : ILink
{
}
到
改變我的派生類型public class DomainLink : AbstractLink
{
}
我得到一個SerializationException「沒有找到成員'Linkid'」。這是它試圖反序列化的第一個成員
順便說一句:這是遠程處理,因此需要自定義序列化 - 是否有辦法一起組合這些行爲?
非常感謝!
M
上面的代碼只是爲了說明而不是編譯,但是您已經將我設置在正確的路徑上。非常感謝! – MikeW 2010-08-11 01:48:05