我想找到我犯了这个错误的所有地方,我宁愿避免阅读每个文件的每一行寻找它们(有多年的代码值).我看到VB有一个’选项严格’会禁用隐式构造的对象,如果C#有这个功能,我觉得这对我有用,但我认为不行.我还审查了编译器警告选项,它们似乎都没有帮助.
是否有任何合理方便的方法来识别由隐式委托推理创建的这些对象,以便我可以找到我需要创建/缓存回调以避免垃圾的位置?
解决方法 简而言之,您的问题是“如何找到所有方法组转换?”我们目前正在开发一个代号为Roslyn的项目,它允许您使用C#编译器和IDE使用的相同语义分析引擎.它将公开语言的语法模型,然后提供语义分析API,通过它您可以提出语义分析器的问题.
使用Roslyn,您可以将所有代码编译为语法树,然后搜索每个表达式的语法树.将有一个API,允许您确定表达式是否转换为任何内容,如果是,转换分析器如何对转换进行分类.
我们目前处于“社区技术预览”阶段;我们有一个初步的实施,但它还没有完全功能.我不记得方法组转换分析器是否在CTP版本中实现.
试一试,如果您对此有任何反馈,我们很乐意听取您对Roslyn论坛的看法.
详细信息:
http://msdn.microsoft.com/en-us/roslyn
总结以上是内存溢出为你收集整理的如何在C#中避免或检测隐式委托推理?全部内容,希望文章能够帮你解决如何在C#中避免或检测隐式委托推理?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)