Авто чтение OTP для реагировать на родной iOS?

В ответе @Marc Gravell, как указано в C # Language Spec 5.5, важно знать, что понимается под термином «определяемый пользователем тип». Я не нашел четкого определения w.r.t. это использование в языке C # Spec. В UML и в общем выражении класс является экземпляром типа. Но в контексте C # Language Spec это значение неясно.

Справочник по языку Visual Basic «Определенные пользователем типы» (в https://msdn.microsoft.com/en- us / library / cec05s9z.aspx ) говорит

«Предыдущие версии Visual Basic поддерживают пользовательский тип (UDT). Текущая версия расширяет UDT до структуры».

blockquote>

, поэтому кажется, что пользовательский тип является структурой, а не классом.

Но ....

В соответствии с «Руководством по программированию на C #» «Типы» (в https://msdn.microsoft.com/en-us/ library / ms173104.aspx ):

«Типичная программа C # использует типы из библиотеки классов, а также пользовательские типы»

blockquote>

, который подразумевает, что класс является определяемым пользователем типом. Позднее он приводит пример «сложных пользовательских типов:»

MyClass myClass;

blockquote>

, что означает, что «MyClass» - это пользовательский тип , И позже он говорит:

«Каждый тип в CTS определяется как тип значения или ссылочный тип, включая все пользовательские типы в библиотеке классов .NET Framework и ваши собственные пользовательские типы . "

blockquote>

... что подразумевает, что все классы, созданные разработчиком, являются« Пользовательским типом ».

И, наконец, есть этот элемент Stackoverflow, в котором значение этого термина обсуждается неубедительно: Как определить, является ли свойство определяемым пользователем типом в C #?

Поэтому, чтобы быть в безопасности, я вынужден рассматривать все классы, созданные мной или те, которые содержатся в .Net Framework, все должны быть определенными пользователем типами, и поэтому Not Thread Safe для назначения , потому что он говорит в разделе 5.5 языка C #:

Чтения и записи ... а также определяемые пользователем типы не гарантируются как атомарные.

blockquote>

К сожалению, разговорный термин используется в точной спецификации, такой как C # Language Specification. Из-за этой двусмысленности, чтобы быть потокобезопасным, я могу писать менее оптимальный код, чем это было бы возможно, если окажется, что «Пользовательский тип» не включает классы CLR.

Поэтому Я прошу о дальнейших разъяснениях этого ответа stackoverflow, поскольку его текущая основа ответа оставляет эту значительную двусмысленность. В его нынешнем виде ответ на вопрос «Является ли ссылочным назначением потокобезопасным?» кажется «НЕТ».

0
задан Steve Vinoski 18 January 2019 в 19:43
поделиться