C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Mono C#Compiler和MS C#Compiler关于Scope的区别大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在这里讨论与C#中实例方法/属性的作用域的差异.这是代码
public class Base
{
   public EventHandler Click {get;set;}
   public Base(EventHandler clickHandler)
   {
      this.Click = clickHandler;
   }
}

public class Derived: Base
{
   public Derived(): base((sender,E) => Execute())
   {
   }

   private void Execute()
   {
   }
}

代码在MonoDevelop 3.0上编译得很好,但在VS2010中给出了一个错误
非静态字段,方法属性“Base.Execute”需要对象引用
基本上,它归结为这样一个事实:当从派生类的构造函数调用基类的构造函数时,MS的C#编译器不允许访问派生类的方法/属性等.如何?

解决方法

VS编译器遵循规范.不确定在Mono实现中允许它的原因是什么.

C# Specification,第10.11.1节构造函数初始值设定项:

大佬总结

以上是大佬教程为你收集整理的Mono C#Compiler和MS C#Compiler关于Scope的区别全部内容,希望文章能够帮你解决Mono C#Compiler和MS C#Compiler关于Scope的区别所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。