今天才看到的新玩意儿,细节就不在此说明了,编辑器能检查的东西没必要列出来讲。Partial method可以方便的加上拦截,有意思,给一个最初级的sample
partial
class
Test
{
static partial void Intersector1();
static partial void Intersector2();
public static void DoStuff()
{
Intersector1();
Console.WriteLine( " Do Stuff " );
Intersector2();
}
}
class Program
{
static void Main( string [] args)
{
Test.DoStuff();
}
}
{
static partial void Intersector1();
static partial void Intersector2();
public static void DoStuff()
{
Intersector1();
Console.WriteLine( " Do Stuff " );
Intersector2();
}
}
class Program
{
static void Main( string [] args)
{
Test.DoStuff();
}
}
这个时候输出的是 Do Stuff
然后在另一部分的Test定义中实现两个partial method
partial
class
Test
{
static partial void Intersector1()
{
Console.WriteLine( " Do some initial steps " );
}
static partial void Intersector2()
{
Console.WriteLine( " Do some finishing steps " );
}
}
{
static partial void Intersector1()
{
Console.WriteLine( " Do some initial steps " );
}
static partial void Intersector2()
{
Console.WriteLine( " Do some finishing steps " );
}
}
这个时候的结果是:
Do some initial steps
Do Stuff
Do some finishing steps