举例:
定义了一个的枚举,希望枚举为“开”的时候执行一些方法。
enum Switch
{
开,
关
}
给枚举Switch增加一个获取状态的State的扩展方法:
static bool State(this Switch _switch) //这个this指示了是后面Switch的扩展方法
{
switch (_switch)
{
case Switch.开:
return true;
case Switch.关:
return false;
}
return false;
}
最终用法:
static void Main(string[] args)
{
Switch mySwitch;
mySwitch = Switch.开;
bool isOpen = mySwitch.State();
Console.WriteLine(isOpen);
Console.Read();
}
全部代码为(备注,扩展方法必须为静态):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Chapter1
{
static class Program
{
static void Main(string[] args)
{
Switch mySwitch;
mySwitch = Switch.开;
bool isOpen = mySwitch.State();
Console.WriteLine(isOpen);
Console.Read();
}
enum Switch
{
开,
关
}
static bool State(this Switch _switch)
{
switch (_switch)
{
case Switch.开:
return true;
case Switch.关:
return false;
}
return false;
}
}
}