相关疑难解决方法(0)

当"更喜欢组合而不是继承"时生成传递代码

问题

假设我试图将手机模型化为普通手机和PDA的组合.这是一种多重继承方案(手机手机,它 PDA).由于C#不支持多重继承,因此这几乎需要某种组合.另外,让我们说我还有其他理由支持作曲.

我一直想知道:是否有任何工具可以自动生成所有不可避免的传递代码?

让我用一些实际的代码充实我的例子:

接口:

public interface IPhone
{
    public void MakeCall(int phoneNumber);
    public void AnswerCall();
    public void HangUp();
}

public interface IPda
{
    public void SendEmail(string[] recipientList, string subject, string message);
    public int LookUpContactPhoneNumber(string contactName);
    public void SyncWithComputer();
}
Run Code Online (Sandbox Code Playgroud)

实现:

public class Phone : IPhone
{
    public void MakeCall(int phoneNumber) { // implementation }
    public void AnswerCall() { // implementation }
    public void HangUp() { // implementation }
}

public class Pda : IPda
{ …
Run Code Online (Sandbox Code Playgroud)

c# code-generation design-patterns visual-studio

19
推荐指数
1
解决办法
3086
查看次数