Можно создать дубликат:
CompilerServices.Operators equivalent on C#Есть ли версия C# для Microsoft.VisualBasic.CompilerServices.Operators?
Я искал Microsoft.CSharp.CompilerServices.Operators, но не смог найти его.
Можно создать дубликат:
CompilerServices.Operators equivalent on C#Есть ли версия C# для Microsoft.VisualBasic.CompilerServices.Operators?
Я искал Microsoft.CSharp.CompilerServices.Operators, но не смог найти его.
В сборке времени C# нет реального эквивалента.
Однако многие из этих методов по существу реализуют поздние связанные операции для VB.Net в декларативном методе (и действительно есть случаи, когда последнее связующее просто просто отбрасывает эти методы для операций). Таким образом, они могут быть реплицированы в C#, определяя методы, которые просто явно откладываются на динамическое связующее C#.
Например, приблизительный эквивалент DivideObject
в C# будет следующим
public static dynamic DivideObject(dynamic left, dynamic right)
{
return left/right;
}
Спасибо, Джаред, так что нужно повторить это, не так ли? В чем причина того, что C# не имеет это как VB? Также, если кто-то должен использовать pre .NET 4.0? Предполагаю тогда, нужно использовать сборку VB? –
@Joan Я не уверен, почему C# этого не имеет. Вероятно, лучший вопрос в том, почему VB разоблачил его в первую очередь. Да к вопросу о 4.0. – JaredPar
Спасибо, Джаред, интересный вопрос. –
@Nifle: Принятый ответ на этот вопрос говорит, чтобы добавить ссылку на 'Microsoft.VisualBasic' сборки проекта, и вызовите 'GetMethod()'. Я не думаю, что это то, чего хочет OP. –
@ Роберт Харви: но это ответ на этот вопрос или есть простое «Нет». Этот класс использует компилятор Visual Basic, и поэтому нет смысла добавлять его в сборку C#. –
@Tim, я считаю, что этот вопрос задает вопрос: «Существует ли эквивалент операторам, таким как« DivideObject », которые реализуют семантику C# или VB». В этом случае это другой вопрос с потенциальными ответами (см. Мой пример). – JaredPar