如果我想在B()在Form1_Load()中调用时替换/覆盖B()到C()或D(),是否可能?是否有可能相等/重写一个函数/方法与另一个?
public Prototype()
{
InitializeComponent();
C();
}
private void Form1_Load()
{
B();
}
private void B()
{
//blank so far
//not sure what to put
}
private void C()
{
if (RadioButton.Checked == false)
{ B() == D(); }
else
{ B() == E(); }
}
private void D()
{
//something ongoing
}
private void E()
{
//something ongoing
}
基本上我需要C()要像教练时Form1_Load的()被调用B(指示),它能够说Form1_Load的()实际上需要调用d()或E()的情况基地。
我试图避免太多if..else在每种方法。 基本上,我正在开发一个软件来接收多种格式的csv源文件,并且Form1_Load()被编码以执行一组涉及图表构建和图表绘制的修复指令。我试图让它像软件的骨架一样。 C()用于确定已由用户加载的csv文件的类型,并决定如果其类型A覆盖B(),否则将B()覆盖为E()如果它是类型B. 我需要使用不同的数据集集来显示csv信息到图表,并根据csv文件中的内容,我需要设计不同的滤镜以显示相关的显示。
public void I1_ChartTabulate()
{
Stopwatch timer = new Stopwatch();
timer.Start();
Charting.dataGridView1.DataSource = G_BS_I1;
Charting.dataGridView1.AutoGenerateColumns = false;
Charting.dataGridView1.Columns[0].Visible = false;
Charting.dataGridView1.Columns[1].Visible = true;
Charting.dataGridView1.Columns[2].Visible = false;
Charting.dataGridView1.Columns[3].Visible = false;
Charting.dataGridView1.Columns[4].Visible = false;
Charting.dataGridView1.Columns[5].Visible = false;
Charting.dataGridView1.Columns[6].Visible = false;
Charting.dataGridView1.Columns[7].Visible = false;
Charting.dataGridView1.Columns[8].Visible = true;
Charting.dataGridView1.Columns[9].Visible = false;
Charting.dataGridView1.Columns[10].Visible = false;
Charting.dataGridView1.Columns[11].Visible = false;
Charting.dataGridView1.Columns[12].Visible = true;
Charting.dataGridView1.Columns[13].Visible = false;
Charting.dataGridView1.Columns[14].Visible = false;
Charting.dataGridView1.Columns[15].Visible = false;
Charting.dataGridView1.Columns[16].Visible = false;
Charting.dataGridView1.Columns[17].Visible = false;
Charting.dataGridView1.Columns[18].Visible = false;
Charting.dataGridView1.Columns[19].Visible = false;
Charting.dataGridView1.Columns[20].Visible = false;
Charting.dataGridView1.Columns[21].Visible = false;
Charting.dataGridView1.Columns[22].Visible = false;
Charting.dataGridView1.Columns[23].Visible = false;
Charting.dataGridView1.Columns[24].Visible = true;
Charting.dataGridView1.Columns[25].Visible = false;
Charting.dataGridView1.Columns[26].Visible = false;
Charting.dataGridView1.Columns[27].Visible = false;
timer.Stop();
label62.Text = timer.Elapsed.TotalMilliseconds.ToString("#,##0.00 'milliseconds'");
}
public void I2_ChartTabulate()
{
Stopwatch timer = new Stopwatch();
timer.Start();
Charting.dataGridView2.DataSource = G_BS_I2;
Charting.dataGridView2.AutoGenerateColumns = false;
Charting.dataGridView2.Columns[0].Visible = false;
Charting.dataGridView2.Columns[1].Visible = true;
Charting.dataGridView2.Columns[2].Visible = false;
Charting.dataGridView2.Columns[3].Visible = false;
Charting.dataGridView2.Columns[4].Visible = false;
Charting.dataGridView2.Columns[5].Visible = false;
Charting.dataGridView2.Columns[6].Visible = false;
Charting.dataGridView2.Columns[7].Visible = false;
Charting.dataGridView2.Columns[8].Visible = true;
Charting.dataGridView2.Columns[9].Visible = false;
Charting.dataGridView2.Columns[10].Visible = false;
Charting.dataGridView2.Columns[11].Visible = false;
Charting.dataGridView2.Columns[12].Visible = true;
Charting.dataGridView2.Columns[13].Visible = false;
Charting.dataGridView2.Columns[14].Visible = false;
Charting.dataGridView2.Columns[15].Visible = false;
Charting.dataGridView2.Columns[16].Visible = false;
Charting.dataGridView2.Columns[17].Visible = false;
Charting.dataGridView2.Columns[18].Visible = false;
Charting.dataGridView2.Columns[19].Visible = false;
Charting.dataGridView2.Columns[20].Visible = false;
Charting.dataGridView2.Columns[21].Visible = false;
Charting.dataGridView2.Columns[22].Visible = false;
Charting.dataGridView2.Columns[23].Visible = false;
Charting.dataGridView2.Columns[24].Visible = true;
Charting.dataGridView2.Columns[25].Visible = false;
Charting.dataGridView2.Columns[26].Visible = false;
Charting.dataGridView2.Columns[27].Visible = false;
timer.Stop();
label63.Text = timer.Elapsed.TotalMilliseconds.ToString("#,##0.00 'milliseconds'");
}
为了更精确,d()和E()不只是一种方法,它是代表一系列的涉及处理CSV方法。
我认为这个要求很简单,而且你正在复杂化一些东西,你能否更清楚一下这个要求?在这个屏幕中如何确定'D()或E()'C();'的目的是什么 –
我试图避免在每个方法中有太多if..else。 –
你试图避免检查if和else的可能的不同条件是什么? –