我想找出一種方法來強制我的所有接口包含相同名稱/類型的屬性。如何強制多個接口包含相同的屬性?
例如:我有兩個接口; IGetAlarms和IGetDiagnostics。每個接口將包含特定於接口本身的屬性,但是我想強制兩個接口(以及後面可能添加的所有其他接口)包含同名的屬性。因此,結果可能看起來像這樣的:
interface IGetAlarms
{
string GetAlarms();
DateTime LastRuntime { get; set; }
}
interface IGetDiagnostics
{
string GetDiagnostics();
DateTime LastRuntime { get; set; }
}
注意兩個接口包括一個名爲LastRuntime一個DateTime屬性。
我想知道是否有某種方法可以強制其他接口,稍後將添加以包含DateTime LastRuntime屬性。我天真地試圖讓我所有的接口實現另一個接口(IService) - 其中包括LastRuntime屬性。但是,這並不能解決我的問題,因爲它只是迫使類實現屬性 - 而不是所有的接口。
謝謝。
我應該在我的第一篇文章中提到過,我希望在所有接口中實施的屬性必須針對每個接口。因此,使用我的初始示例,實現IGetAlarms和IGetDiagnostics的類將能夠爲IGetAlarms.LastRuntime和IGetDiagnostics.LastRuntime屬性存儲不同的值。我試圖在這裏解決的問題是確保所有接口都支持自己的LastRuntime實現。 在這種情況下,我無法使用抽象類,因爲我的派生類需要能夠實現多個服務。 – Jed 2010-03-25 04:25:44
感謝您的意見,彼得。 – Jed 2010-03-25 17:59:32