Хотя я понимаю самоидентификаторов в F #, я озадачен преимуществами такой гибкости. Почему F # не просто поддерживает this.Blah
, как C #, и покончил с этим? Я' Я предполагаю, что некоторые люди используют его для улучшения читаемости, но даже это кажется натяжкой. Итак, каковы возможности / преимущества этой языковой функции?
Для неинициализированных ниже приведен пример, который определяет собственный идентификатор для всего типа «self» и идентификатор в области действия метода «this». Пример взят из приведенной выше статьи MSDN.
type MyClass2(dataIn) as self =
let data = dataIn
do
self.PrintMessage()
member this.PrintMessage() =
printf "Creating MyClass2 with Data %d" data