|
Nullable reference types
|
|||
---|---|---|---|
#18+
Сейчас проверил - тем не менее это каким-то образом работает... Компилятор понимает что это record даже просто по готовой сборке без исходников, хотя там при этом уже все public и никаких аттрибутов особых нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2020, 20:25 |
|
Nullable reference types
|
|||
---|---|---|---|
#18+
fkthat Тут только вот одна тема, которая для меня не очень ясна и надо будет сделать research. Я при декомпиляции не вижу у этого класса никаких маркеров (например аттрибутов), что это record и мне непонятно, если я использую этот класс в готовой сборке из другого проекта, то как C# узнает, что в его свойства писать нельзя. Он же будет видеть их как public. Вряд ли это обычный атрибут, надо короч поставить и поиграться ) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2020, 23:29 |
|
Nullable reference types
|
|||
---|---|---|---|
#18+
fkthat Я при декомпиляции не вижу у этого класса никаких маркеров (например аттрибутов), что это record и мне непонятно, если я использую этот класс в готовой сборке из другого проекта, то как C# узнает, что в его свойства писать нельзя. Он же будет видеть их как public. Лучше декомпилировать в IL, там больше информации. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 03:00 |
|
Nullable reference types
|
|||
---|---|---|---|
#18+
hVostt, Сон Веры Павловны, Я раскопал в чем дело. Сам класс ничем не отличается от обычного, но setter-ы свойств метятся такой штукой как сustom modifiers и в IL выглядит это так: Код: c# 1.
Вся суть тут именно в этом "IsExternalInit" Init-only свойства реализуются абсолютно так же, и я насчет них заблуждался, т.к. они точно так же полностью public. В целом record почти ничем не отличается от класса с только init-only свойствами. У него просто есть еще встроенная операция сравнения и возможен короткий синтаксис типа: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2020, 05:18 |
|
|
start [/forum/topic.php?fid=20&msg=40012355&tid=1398450]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 269ms |
total: | 396ms |
0 / 0 |