Рассматривая этот вопрос, комментатор @Jon Egerton отметил, что MyClass
было ключевым словом в VB.Net
. Никогда не использовал его, я пошел и нашел документация на нем:
Ключевое слово MyClass ведет себя как переменная объекта, относящаяся к текущему экземпляру класса, как первоначально было реализовано. MyClass похож на Me, но все вызовы метода обрабатываются так, как если бы метод был NotOverridable.
Я вижу, как это может быть полезно, в некоторых конкретных сценариях. Я не могу думать о том, как бы вы получили такое же поведение в С#, то есть убедиться, что вызов виртуального метода myMethod
фактически вызван в myMethod
в текущем классе, а не в производном myMethod
(иначе в IL, вызывая call
, а не callvirt
)?
Возможно, у меня может быть только полный мысленный момент.