Этот вопрос скорее из любопытства, чем из-за требования проекта или проблемы.
У меня есть код, не совместимый с CLS, на одном языке (скажем, C #), и мне нужно использовать его таким образом, только на моем текущем языке (в разных проектах, поэтому сделать внутренний не вариант), и в то же время хотите, чтобы другие языки (например, VB) могли вызывать конфликтующие реализации без генерации ошибки времени компиляции.
Например,
//C#
public class SecurityService
{
....
public void Print()
{
Console.WriteLine("print"); //This method prints Service Name in lower case
}
public void PRINT()
{
Console.WriteLine("PRINT");//This method prints service name in UPPER case.
}
}
'VB.Net
Module ServiceReader
Sub Main()
Dim service As New SecurityService()
service.print() 'Compile time error: print is ambiguos
End Sub
End Module
Проблема: мне нужно избежать ошибки времени компиляции, скрыв один из моих методов печати от кросс-языковых проектов (позволяя проектам C # вызывать нужную реализацию).
Спасибо за ваш интерес.