C# 在一种情况下可以使用多种方法?
例如,我在C# 在一种情况下可以使用多种方法?,c#,C#,例如,我在c#中编写了一些代码; 如果(条件) { private void ribbonPanel1_单击(对象发送者,事件参数e) { 做点什么; } 私有void Form1\u按键(对象发送方,按键事件参数e) { 做点什么; } private void ribbonPanel1_单击(对象发送者,事件参数e) { 做点什么; } } 允许这样做吗?我们可以在任何情况下限制多种控制方法吗?不仅当我们可以使用任何循环时?请改为这样做 private void ribbonPan
c#
中编写了一些代码;
如果(条件)
{
private void ribbonPanel1_单击(对象发送者,事件参数e)
{
做点什么;
}
私有void Form1\u按键(对象发送方,按键事件参数e)
{
做点什么;
}
private void ribbonPanel1_单击(对象发送者,事件参数e)
{
做点什么;
}
}
允许这样做吗?我们可以在任何情况下限制多种控制方法吗?不仅当我们可以使用任何循环时?请改为这样做
private void ribbonPanel1_Click(object sender, EventArgs e)
{
if (condition)
{
Do something ;
}
}
不能限制特定的方法。但您可以做的是在特定条件下调用该方法
public bool Condition;
private void ribbonPanel1_Click(object sender, EventArgs e)
{
if (Condition) ThingsYouWantToDo();
}
private void ThingsYouWantToD()
{
//Stuff
}
但是等等。。。你是在说条件编译器指令吗?比如:
private static void Main()
{
#if DEBUG
Console.WriteLine("You are running debug version!");
#endif
Console.WriteLine("Program is starting!");
}
你到底想干什么?实际上你不能这样做。编译器会发现这个错误…是的,我们可以这样做,但是如果我想限制一些方法呢?创建一个公共bool,如果条件为true,则设置它,然后检查每个方法中的bool是否为true
private void ribbonPanel1_Click(object sender, EventArgs e)
{
if (Condition)
DoFirstStuff();
else if (Condition2)
DoSecondStuff();
else
DoThirdStuff();
}
private static void Main()
{
#if DEBUG
Console.WriteLine("You are running debug version!");
#endif
Console.WriteLine("Program is starting!");
}