public TypeDescriptor(string fullName, bool inThisAssembly = true, string attributeName = null, IEnumerable <object> attributePositionalArguments = null) { this.FullName = fullName; this.InThisAssembly = inThisAssembly; if (attributeName != null) { var a = new AttributeDescriptor() { Name = attributeName }; if (attributePositionalArguments != null) { a.PositionalArguments = attributePositionalArguments; } Attributes = new[] { a }; } }