【发布时间】:2010-03-25 03:33:42
【问题描述】:
我正在尝试找出一种方法来强制我的所有接口包含相同名称/类型的属性。
例如:我有两个接口; IGetAlarms 和 IGetDiagnostics。每个接口都将包含特定于接口本身的属性,但是我想强制这两个接口(以及以后可能添加的所有其他接口)包含同名的属性。因此,结果可能如下所示:
interface IGetAlarms
{
string GetAlarms();
DateTime LastRuntime { get; set; }
}
interface IGetDiagnostics
{
string GetDiagnostics();
DateTime LastRuntime { get; set; }
}
请注意,两个接口都包含一个名为 LastRuntime 的 DateTime 属性。
我想知道是否有某种方法可以强制稍后添加的其他接口包含 DateTime LastRuntime 属性。我天真地试图让我的所有接口实现另一个接口 (IService) - 其中包括 LastRuntime 属性。但是,这并不能解决我的问题,因为这只是强制类实现属性 - 而不是所有接口。
谢谢。
【问题讨论】:
标签: c# inheritance properties interface