2012-02-02 48 views
0

如何在用作NHibernate模型實體的POCO對象中重寫ToStringmethod? 要覆蓋object.ToString(),你應該宣佈類似重寫NHibernate使用的POCO的ToString()

public override string ToString() 
    { 
     return "my string here"; 
    } 

但NHibernate的想要的一切內部的POCO映射對象是虛擬的...你不能宣佈一個方法兩個虛擬的廣告覆蓋。

有什麼建議嗎?

回答

4

事實上,你重寫的方法意味着它是虛擬的,應該沒有問題。

+0

true。我不知道發生了什麼,但我有一個NHibernate的錯誤消息,說該方法必須聲明爲虛擬的...現在我再次嘗試,消息消失...可能有我的代碼 – themarcuz 2012-02-03 13:20:41

1

重寫ToString的原因是什麼?是否用於調試目的?如果是這樣,而這並沒有真正回答你的問題,你可以看看Debugger Attributes

0

我的C#和NHibernate都有點生疏,但我相信

public virtual string ToString() 
{ 
    return "my string here"; 
} 

是完全有效的代碼。

生成的代理應該使用提供的實現ToString

+1

這樣的其他錯誤這種方式你是在影射Object.ToString(),而不是覆蓋它 – themarcuz 2012-02-03 13:16:23