|
1
1
如果接口成员已实现但标记为私有,则它不会显示在元数据或intellisense中。这是显式实现。您仍然可以通过界面访问它。这是经过设计的,因此不会增加公共界面。请记住,虽然接口成员保证可以通过接口使用,但接口并不指定访问级别。
您需要将对象投射为
这两种方法中的任何一种都应该有效
通常,当显式实现接口时,必须通过该接口访问显式实现的成员。其中一个原因是多接口实现。在这种情况下
类Foo实现了两个具有相同成员名称的接口,但只能在类Foo中定义一个接口。默认情况下,IBaz。Run()标记为私有(显式实现)。必须访问IBaz。通过界面运行。IBaz_Run可以标记为public,但由于名称不同,它无论如何不会显示在Foo的公共界面上。 本例描述了一种行为,但这是语言功能显式实现的副作用。 |
|
|
2
0
我将djv答案标记为答案。 尽管如此,我进一步环顾四周,发现了这个 https://msdn.microsoft.com/en-us/library/28e2e18x%28VS.100%29.aspx?f=255&MSPPError=-2147217396
所以,接口可以是私有的,我觉得这有点奇怪。 |
|
|
Mear1628 · vb.net从随机选择的端口号接收UDP 1 年前 |
|
|
user1946932 · .Net正则表达式在所有字符前添加空格 1 年前 |
|
|
user1946932 · 正则表达式:删除连续两个以上的<br>? 1 年前 |
|
|
Josh · 通过反思访问孩子的财产 1 年前 |
|
|
Khu RJ · 更新网格中的单元格-DevExpress网格控件 1 年前 |
|
|
Mick · VB.NET Regex。替换不起作用(数组未更新) 1 年前 |