顯示我有這樣的類別:C#覆蓋toString()和在的textBox
namespace JimWcfFormTest3
{
[DataContract]
public class GateInfo
{
[DataMember]
public int carid { get; set; }
[DataMember]
public int paid_at_gate { get; set; }
[DataMember]
public int wash_pkg_purch { get; set; }
[DataMember]
public string carte { get; set; }
public override string ToString()
{
return "Car ID: " + carid + "Paid at Gate: " + paid_at_gate + "Wash Package: " + wash_pkg_purch + "Ala Carte: " + carte;
}
}
}
被此WCF服務稱爲:
namespace JimWcfFormTest3
{
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)]
public class Service1 : IService1
{
private List<GateInfo> _gate;
private Service1()
{
_gate = new List<GateInfo>();
}
public void Gate_to_Server(GateInfo gatein)
{
if (gatein != null) _gate.Add(gatein);
}
public List<GateInfo> Server_to_Term()
{
return _gate;
}
}
}
即在此表單上由此Button調用:
private Service1Client server = new Service1Client();
private void button1_Click(object sender, EventArgs e)
{
int carnum = 2;
int pay = 1;
int wash = 5;
string txt = "TEST";
var data_out = new GateInfo { carid = carnum, paid_at_gate = pay, wash_pkg_purch = wash, carte = txt };
server.Gate_to_Server(data_out);
dataGridView1.DataSource = server.Server_to_Term();
我的ToString被覆蓋在正確的位置嗎?如何正確調用Form中的ToString重寫,所以當按鈕被點擊時,我可以將它放在一個文本框中?
GateInfo.ToString()不起作用嗎?在你的情況data_out.ToString() –
@SamMarion - 問題(如下面的答案中所述)是DataContract中的方法沒有通過連線進行序列化,只有實際的數據。因此,除非客戶端具有完全相同的類(即共享類型),否則它將不知道「GetString()」實現是什麼樣子,並且將依賴於框架的實現。 – Tim