public SumTypeGenerator(AttributeData attributeData) { if (attributeData == null) { throw new ArgumentNullException(nameof(attributeData)); } _discriminantName = (string)attributeData.GetNamedArgumentValue(nameof(SumTypeAttribute.DiscriminantName)) ?? "Case"; _options = (SumTypeOptions)((int?)attributeData.GetNamedArgumentValue(nameof(SumTypeAttribute.Options)) ?? 0); }