gpt4 book ai didi

c# - 为什么在 C# 接口(interface)名称前加上 “I”

转载 作者:IT王子 更新时间:2023-10-29 04:11:38 24 4
gpt4 key购买 nike

此命名约定背后的基本原理是什么?

我没有看到任何好处。额外的前缀只会污染 API。

我的想法与 Konrad 的一致 response与此相关question ;选择answer其中大部分是我在这里要求的。

最佳答案

它完全相反,命名约定清楚地标识了一个接口(interface)。

例如,如果您有:

public class Dog : IPet, IMammal
{
....

仅通过阅读,我就可以有把握地假设 IPet 和 IMammal 可能是接口(interface)。

.NET CLR 允许单类继承。所以,如果我有一个基类……我只能从它继承一个类。让我们将 IPet 接口(interface)更改为基类..我们的示例现在变为

public class Dog : Pet, IMammal
{
....

我正在继承 Pet 类并实现 IMammal 接口(interface)。

如果我们按照您的建议去做并删除了字母“I”,我们就会得到:

public class Dog : Pet, Mammal
{
....

我继承自哪个类?我正在实现的接口(interface)是哪个?它变得困惑吗? (仅供引用..你应该总是把基类放在第一位,所以你可以争论这一点......但是如果你争论要从接口(interface)名称前缀中删除字母 I 我怀疑你是否也遵循这种做法)

如您所见,命名约定很容易告诉我很多关于我的对象的信息,而无需我进一步调查。我可以很容易地看到我继承了什么与我正在实现什么。

关于c# - 为什么在 C# 接口(interface)名称前加上 “I”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/437649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com