C# 内部类 是接口如何实现?

mpx1983 2010-07-07 05:35:01
有一个第三方的基础类如下:
class A
{
protected virtual IA DoAAA()
{
}

public interface IA
{ void funA();
}
}

我要写一个类来实现类A和interface IA,该怎么做呀?

我这样写报错:
class B : A
{
void IA.funA() { };
}
...全文
225 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
颤菊大师 2010-07-08
  • 打赏
  • 举报
回复
class A
{
protected virtual IA DoAAA()
{
}

public interface IA
{ void funA();
}
}


这是一个私有类?

vrhero 2010-07-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 mpx1983 的回复:]
vrhero 为什么这么说呢? 这个第三方的基础类封装的有缺陷?
[/Quote]

[Quote=引用 MSDN 类型设计准则:]
嵌套类型是作为某其他类型的成员的类型。嵌套类型应与其声明类型紧密关联,并且不得用作通用类型。有些开发人员会将嵌套类型弄混淆,因此嵌套类型不应是公开可见的,除非不得不这样做。在设计完善的库中,开发人员几乎不需要使用嵌套类型实例化对象或声明变量。

在声明类型使用和创建嵌套类型实例时,嵌套类型很有用,但不在公共成员中公开嵌套类型的使用。

1.如果嵌套类型和其外部类型之间的关系需要成员可访问性语义,则要使用嵌套类型。

由于嵌套类型被视为是声明类型的成员,因此嵌套类型可以访问声明类型中的所有其他成员。

2.如果可能在声明类型的外部引用类型,则不要使用嵌套类型。

在常见方案中,不应要求对嵌套类型进行变量声明和对象实例化。例如,处理在某一类上定义的事件的事件处理程序委托不应嵌套在该类中。

3.如果需要由客户端代码实例化类型,则不要使用嵌套类型。如果某种类型具有公共构造函数,就可能不应进行嵌套。

理想情况下,嵌套类型仅由它的声明类型进行实例化和使用。如果嵌套类型具有公共构造函数,则表示该类型不单由其声明类型使用。通常情况下,嵌套类型不应针对其声明类型以外的类型执行任务。如某种类型具有更广泛的用途,就很可能不应进行嵌套。

4.不要将嵌套类型定义为接口的成员。许多语言不支持这样的构造。[/Quote]
兔子-顾问 2010-07-07
  • 打赏
  • 举报
回复
接口尽量不要写到类里面。
一切为了你 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyazhe 的回复:]
C# code
public class B:A.IA
{
public void funA()
{
}
}
[/Quote]
正解
mpx1983 2010-07-07
  • 打赏
  • 举报
回复
vrhero 为什么这么说呢? 这个第三方的基础类封装的有缺陷?
vrhero 2010-07-07
  • 打赏
  • 举报
回复
这种误人子弟的“第三方”玩意儿还是赶紧删了别看的好...
mpx1983 2010-07-07
  • 打赏
  • 举报
回复
多谢,3,4楼回复。
明天上班测试完毕结贴,后边再有相同回复就不给分了
beckfun 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyazhe 的回复:]

C# code
public class B:A.IA
{
public void funA()
{
}
}
[/Quote]顶...
兔子-顾问 2010-07-07
  • 打赏
  • 举报
回复
public class B:A.IA
{
public void funA()
{
}
}
mpx1983 2010-07-07
  • 打赏
  • 举报
回复
顶一下,别沉了
swimmingfish2004 2010-07-07
  • 打赏
  • 举报
回复
关注此问题。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧