在界面名称中使用I作为人称代词

Gaz*_*yer 2 c# interface naming-conventions

回到我的COM时代,通常使用界面名称中的I作为人称代词,就像对象描述它可以做什么一样.即:

IProvideData
Run Code Online (Sandbox Code Playgroud)

在.Net的世界中仍然如此,或者它现在优先使用第三人:

IDataProvider
Run Code Online (Sandbox Code Playgroud)

Fre*_*örk 7

引用命名指南:

使用名词,名词短语或偶尔形容词短语来命名类,接口和值类型

鉴于此,IDataProvider似乎比一个更好的名字IProvideData.我发现它更符合逻辑,尤其是在与成员名称配对时.IDataProvider.GetData对我而言似乎更自然IProvideData.GetData.

详情请阅读类,结构和接口的名称开发类库设计指南.