问题描述:
假设有类 A,类B, A 和B 都是独立的类,未从任何基类继承。
现:主函数 调用类A的一个方法C,却跳到执行B类的方法C,
类A中的确没有方法C,请问这是什么情况造成的呢?欢迎大家集思广益。首先说明:PDB文件没有搞错。

解决方案 »

  1.   

    A和B真没继承关系,我贴下函数:A类:
    public class ProjectOperations
    {
    //
    }
    B类:public static class Extensions
    {
    public static bool CanDebug (this ProjectOperations opers, IBuildTarget entry)
    {
                System.Console.WriteLine(@"D:\monodevelop\monodevelop\main\src\addins\MonoDevelop.Debugger\MonoDevelop.Debugger\Extensions.cs");
    ExecutionContext context = new ExecutionContext (DebuggingService.GetExecutionHandler (), IdeApp.Workbench.ProgressMonitors);
                System.Console.WriteLine("Extensions CanDebug end");
                return opers.CanExecute (entry, context);
    }
    }
    A类调用 CanDebug函数,但是A类这没有这个函数,B类有,调用到B类的这个CanDebug函数了
      

  2.   

    这是C#3.0的扩展方法,Extensions类中定义扩展方法的将影响所有涉及的类(this关键字后面那些)...去看MSDN...http://msdn.microsoft.com/zh-cn/library/bb383977(VS.90).aspx
      

  3.   

    对了,请问您对mono有了解不?