Да, реализовать конкретные наследники для всех типов
Получилось, вроде public class Switcher { public SingleValueObject<T> F<T>(T arg) where T: unmanaged { return arg switch { int i => new SingleValueObject<T> {Value = MarshalStruct<int, T>(i)}, }; } TR MarshalStruct<T, TR>(T arg) where T : unmanaged where TR : struct { Span<T> source = stackalloc T[1]; source[0] = arg; return MemoryMarshal.Cast<T, TR>(source)[0]; } void Use() { var x = F(1); } }
ща попробуем
В итоге его второй скрин же будет лучше
Реализовать для SingleValueObject методы,Set(ref int value),Set(ref double value){Value = value;}
Options.getconverter и он даже будет смотреть на настройки number handling
Переписал в итоге с использованием этого и JsonConverterFactory, плюс создание экземпляров через эксперешены. Работает.
покажи кот)
Как приду домой
class MyClass<T>{ public T Value{se }
https://gist.github.com/ImoutoChan/f80671eb968ad00a3672443c5a077431
кешировать дикшинари не надо, оно само внутри кешируетя
JsonConverter кешируются?
да, внутри options
Обсуждают сегодня