c# 怎么在子类中调用父类的方法并在内部调用已重写的子类方法呢?

真龙猫 2016-08-09 09:53:32
internal class ST
{
internal void optimize(int m,int n,int f)
{
int om, on;
for (int i = m; i <= m + f; ++i)
{
for (int j = n; j <= n + f; ++i)
{
on = j;
run();
}
om = i;
}
}
internal virtual void run()
{ }
}
internal class STA:ST
{
internal override void run(float a,float b,int m=16,int n=35)
{

}
}
---------------------------------
STA sta=new STA;
sta.optimize(10,10,20);//这个要怎么写才能实现optimize()方法内部调用子类中带参数的run()方法呢?
...全文
288 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
巴士上的邂逅 2016-08-09
  • 打赏
  • 举报
回复
这样不行吧,可以尝试这样:
internal class ST
{
    internal void optimize(int m, int n, int f, Delegate dele, params object[] parameters)
    {
        int om, on;
        for (int i = m; i <= m + f; ++i)
        {
            for (int j = n; j <= n + f; ++i)
            {
                on = j;
                dele.Method.Invoke(this, parameters);//run();
            }
            om = i;
        }
    }
}
internal class STA : ST
{
    internal void run(float a, float b, int m = 16, int n = 35)
    {

    }
}
STA sta = new STA();
sta.optimize(10, 10, 20, new Action<float, float, int, int>(sta.run), 1, 2, 3, 4);

110,566

社区成员

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

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

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