public static IRuntimeProtoSerializerNode Create(RepeatedSerializerStub stub, int fieldNumber, SerializerFeatures features) { if (stub == null) { ThrowHelper.ThrowArgumentNullException(nameof(stub), $"No suitable repeated serializer resolved for {stub.ForType.NormalizeName()}"); } _ = stub.Serializer; // primes and validates return((IRuntimeProtoSerializerNode)Activator.CreateInstance(typeof(RepeatedDecorator <,>).MakeGenericType(stub.ForType, stub.ItemType), new object[] { fieldNumber, features, stub })); }
public static IRuntimeProtoSerializerNode Create(RepeatedSerializerStub provider, Type keyType, Type valueType, int fieldNumber, SerializerFeatures features, SerializerFeatures keyFeatures, SerializerFeatures valueFeatures) { if (provider == null) { ThrowHelper.ThrowArgumentNullException(nameof(provider)); } _ = provider.Serializer; // primes and validates return((IRuntimeProtoSerializerNode)Activator.CreateInstance( typeof(MapDecorator <, ,>).MakeGenericType(provider.ForType, keyType, valueType), new object[] { fieldNumber, features, keyFeatures, valueFeatures, provider })); }