当前位置:  开发笔记 > 编程语言 > 正文

两个类有共同的方法和属性

如何解决《两个类有共同的方法和属性》经验,为你挑选了1个好方法。

我有两节课.

A类:

class A() {
    public void QQ() {}
    public void WW() {}
}

和B类:

class B() {
    public void QQ() {}
    public void WW() {}
}

它们不共享相同的接口或抽象类.A和B有两个截然不同的层次,我现在无法改变它.

我想写一个适用于A和B并使用QQ和WW方法的程序.

我能这样做吗?你能建议我可以学习的任何文件吗?

坦克



1> Hamid Pourja..:

这叫做Duck Typing.

你可以使用动力学

void Foo(dynamic dy)
{
    dy.QQ();
}

你也可以使用反射.(参考)

public static void CallQQ(object o)
{
    var qq = o.GetType().GetMethod("QQ");
    if (qq != null)
        qq.Invoke(o, new object[] { });
    else
        throw new InvalidOperationException("method not found");
}

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有