protected PrimitiveType(Type rawType) : base(rawType) { if (typeof(IDisposable).GetTypeInfo().IsAssignableFrom(RawType.GetTypeInfo())) { throw new ArgumentException("A " + nameof(PrimitiveType) + " cannot have a disposable " + nameof(RawType), nameof(rawType)); } }