サーバー側で入力しているリストがあります。これは、IComparableを実装する「ユーザー」のリストです。WCFがデータをシリアル化しているとき、CompareToメソッドは含まれていないと思います。これは私のオブジェクトクラスです:
[DataContract]
public class User : IComparable
{
private string e164, cn, h323;
private int id;
private DateTime lastActive;
[DataMember]
public DateTime LastActive
{
get { return lastActive; }
set { laatstActief = value; }
}
[DataMember]
public int Id
{
get { return id; }
set { id = value; }
}
[DataMember]
public string H323
{
get { return h323; }
set { h323 = value; }
}
[DataMember]
public string Cn
{
get { return cn; }
set { cn = value; }
}
[DataMember]
public string E164
{
get { return e164; }
set { e164 = value; }
}
public User()
{
}
public User(string e164, string cn, string h323, DateTime lastActive)
{
this.E164 = e164;
this.Cn = cn;
this.H323 = h323;
this.LastActive= lastActive;
}
[DataMember]
public string ToStringExtra
{
get
{
if (h323 != "/" && h323 != "")
return h323 + " (" + e164 + ")";
return e164;
}
set { ;}
}
public override string ToString()
{
if (Cn.Equals("Trunk Line") || Cn.Equals(""))
if (h323.Equals(""))
return E164;
else
return h323;
return Cn;
}
public int CompareTo(object obj)
{
User user = (User)obj;
return user.LastActive.CompareTo(this.LastActive);
}
}
CompareToメソッドを取得してクライアントに到達することは可能ですか?[DataMember]を置くことは、私が試した解決策ではありません(私は知っています...)。
前もって感謝します。