Технически, это не ответ.
Первый , в соответствии со спецификациями, IsByRefLike
предназначен для компилятора, а не для разработчиков: https://docs.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.isbyreflikeattribute?view=netframework-4.7.2
Второй Когда мы хотим что-то от компилятора, очень важно, чтобы мы понимали, чего мы хотим от него.Правильный вопрос может быть таким: Мне нужен ABC, потому что мне нужно выполнить XYZ , где ABC
будет что-то, связанное с IsByRefLike
, а затем XYZ
будет что-то, основанное на IsByRefLike
.Вопрос не объясняет, почему IsByRefLike
необходим.
Я думаю, что минималистский подход должен всегда учитываться при рассмотрении того, какие языковые функции использовать / не использовать: нужны ли нам какие-то особые языковые функции длявыполнить то, что нам нужно?F # Option.bind
приходит на ум: если функция однострочная, то Option.bind
отлично.Однако, если есть какое-то дерево для анализа результата, то лучше сделать это явно, не используя Option.bind
.
Итак, вопросы:
- Вам действительно нужно
IsByRefLike
? - Если вы считаете, что это так, не могли бы вы, пожалуйста, опубликовать примергде вы на самом деле нужно это нужно.