在 C# 中,是否可以使用具有不同名称的成员来实现接口成员,就像在 VB.NET 中那样?

2023-12-31

好吧,这是我要问的问题,不是为了展示良好的编码实践(这实际上可以被认为是一种不好的实践),而是为了“可以”完成它。

也就是说,在 VB.NET 中,您可以实现这样的接口...

Sub SomeInterfaceMember()
    Implements ISomeInterface.SomeInterfaceMember
End Sub

而在 C# 中,您可以像这样明确地执行此操作(只能通过接口调用)...

void ISomeInterface.SomeInterfaceMember(){}

或者更简单地,像这样隐式(在这种情况下您可以直接调用它,或通过接口调用它)...

void SomeInterfaceMember(){} // <-- This name matches the interface member

但是,对于 VB,您也可以使用任何您想要的成员名称来执行此操作...

Sub SomeRandomMemberName() // <-- This name doesn't match the interface member
    Implements ISomeInterface.SomeInterfaceMember
End Sub

换句话说,处理实现的方法可以具有与接口的成员名称完全不同的名称。

我只是想知道C#中是否有类似的东西。 (是的,我知道我可以简单地创建一个显式接口,然后通过另一个具有不同名称的“包装器”成员来访问它,该成员只是委托给它,但在 VB.NET 中,您可以使用一个方法来完成这两个操作。)

那么可以这样做吗?

Mark


不,这在 C# 中是不可能的。 (您也不能在 VB.NET 中“显式实现接口”。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# 中,是否可以使用具有不同名称的成员来实现接口成员,就像在 VB.NET 中那样? 的相关文章

随机推荐