My code:
public static IConfigurationBuilder AddModel<T> (
this IConfigurationBuilder builder,
T model,
JsonSerializerOptions options = null)
{
var dic = new Dictionary<string, T>
{
{typeof(T).Name, model}
};
byte[] bytes;
if (options != null)
bytes = JsonSerializer.SerializeToUtf8Bytes(dic, options);
else
bytes = JsonSerializer.SerializeToUtf8Bytes(dic);
var mem = new MemoryStream(bytes);
return builder.AddJsonStream(mem);
}
But il2cpp reports:
System.Text.Json.Serialization.Converters.DictionaryOfTKeyTValueConverter`3[ [System.Collections.Generic.Dictionary`2[ [System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[Microsoft.Extensions.Logging.LogLevel, Microsoft.Extensions.Logging.Abstractions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089], [System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[Microsoft.Extensions.Logging.LogLevel, Microsoft.Extensions.Logging.Abstractions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]]::.ctor' for which no ahead of time (AOT) code was generated.
However,DictionaryOfTKeyTValueConverter is internal. I can't create instance in Assembly-CSharp to avoid this error.