public ReferenceType(ReferenceAttributeAttribute referenceAttribute, string @namespace, Func <ReferenceArgs <TElement, TAttribute>, Reference <TElement, TAttribute> > constructor) { AttributeKey = new ReferenceKey(referenceAttribute.Name, @namespace); Kind = referenceAttribute.Kind; Constructor = constructor; ArgsCreator = ReferenceArgsCreator <TElement, TAttribute> .Create(referenceAttribute.ArgsCreatorType); ValueParser = ReferenceValueParser.Create(referenceAttribute.ParserType); }
public virtual ReferenceArgs <TElement, TAttribute> Create(Parser parser, ReferenceKind kind, TElement element, TAttribute attribute, ReferenceValueParser valueParser) { return(new ReferenceArgs <TElement, TAttribute>(parser, kind, null, element, attribute, valueParser)); }