2010-11-09 102 views
1

可能重复:
CompilerServices.Operators equivalent on C#是否有C#版本的Microsoft.VisualBasic.CompilerServices.Operators?

我一直在寻找Microsoft.CSharp.CompilerServices.Operators,但无法找到它。

+2

@Nifle:在这个问题接受的答案说给一个参考'Microsoft.VisualBasic'组件添加到项目中,并调用'GetMethod()'。我不认为这是OP想要的。 – 2010-11-09 18:13:10

+0

@Robert哈维:那不过是这个问题的答案或只有一个简单的“不”。 该类使用Visual Basic编译器,并为此它没有任何意义,将其添加到C#大会。 – 2010-11-09 18:15:33

+0

@Tim,我相信这个问题是问:“是有一个相当于像'DivideObject'其实现C#语法与VB的人经营。”在这种情况下,这是一个与潜在答案不同的问题(参见我的例子)。 – JaredPar 2010-11-09 18:19:43

回答

2

没有没有真正的等同于这个在C#运行时组件。

然而,许多这些方法基本上实现在声明方法VB.Net后期绑定操作(确实存在这样的情况已故粘结剂只是简单地推迟对这些方法进行操作)。所以这些可以在C#中通过定义只明确推迟到C#动态联编程序的方法来复制。

例如,DivideObject在C#中大致相当于将以下

public static dynamic DivideObject(dynamic left, dynamic right) 
{ 
    return left/right; 
} 
+0

谢谢Jared,所以你必须复制这个,对吧? C#不把它作为VB的原因是什么?另外如果有人必须使用.NET 4.0以前的版本呢?那么我假设,必须使用VB程序集? – 2010-11-09 18:24:03

+1

@Joan我不确定为什么C#没有它。可能更好的问题是VB为什么要首先公开它。是关于4.0的问题。 – JaredPar 2010-11-09 18:49:25

+0

谢谢Jared,有趣的问题。 – 2010-11-09 19:39:37