public PerspexXamlMember(string name, XamlType owner, IXamlTypeRepository xamlTypeRepository, ITypeFeatureProvider featureProvider) : base(name, owner, xamlTypeRepository, featureProvider) { }
public WpfXamlAttachableMember(string name, MethodInfo getter, MethodInfo setter, IXamlTypeRepository xamlTypeRepository, ITypeFeatureProvider typeFeatureProvider) : base(name, getter, setter, xamlTypeRepository, typeFeatureProvider) { }
public XamlMember(string name, XamlType owner, IXamlTypeRepository mother, bool isAttachable) : this(name) { IsAttachable = isAttachable; DeclaringType = owner; Type = LookupType(name, owner, mother, isAttachable); }
public PerspexXamlType(Type type, IXamlTypeRepository typeRepository, ITypeFactory typeFactory, ITypeFeatureProvider featureProvider, IPerspexPropertyBinder propertyBinder) : base(type, typeRepository, typeFactory, featureProvider) { _propertyBinder = propertyBinder; }
public XamlAttribute(UnboundAttribute unboundAttribute, XamlType type, IXamlTypeRepository typeContext) { Type = unboundAttribute.Type; Value = unboundAttribute.Value; Locator = unboundAttribute.Locator; Property = GetProperty(Locator, type, typeContext); }
protected XamlType(Type type, IXamlTypeRepository typeRepository) { Guard.ThrowIfNull(type, nameof(type)); Guard.ThrowIfNull(typeRepository, nameof(typeRepository)); this.typeRepository = typeRepository; UnderlyingType = type; Name = type.Name; }
public PerspexXamlMember(string name, XamlType owner, IXamlTypeRepository xamlTypeRepository, ITypeFeatureProvider featureProvider, IPerspexPropertyBinder propertyBinder) : base(name, owner, xamlTypeRepository, featureProvider) { _propertyBinder = propertyBinder; }
private Type ResolveFromString(string typeLocator, IXamlTypeRepository typeRepository) { Guard.ThrowIfNull(typeLocator, nameof(typeLocator)); var prefixAndType = typeLocator.Dicotomize(':'); var xamlType = typeRepository.GetByPrefix(prefixAndType.Item1, prefixAndType.Item2); return xamlType.UnderlyingType; }
public static XamlType Create(Type underlyingType, IXamlTypeRepository xamlTypeRepository, ITypeFactory typeFactory, ITypeFeatureProvider featureProvider) { Guard.ThrowIfNull(underlyingType, nameof(xamlTypeRepository)); return(new XamlType(underlyingType, xamlTypeRepository, typeFactory, featureProvider)); }
public PerspexXamlType(Type type, IXamlTypeRepository typeRepository, ITypeFactory typeFactory, ITypeFeatureProvider featureProvider, IPerspexPropertyBinder propertyBinder) : base(type, typeRepository, typeFactory, featureProvider) { this.propertyBinder = propertyBinder; }
protected MutableXamlMember(string name, XamlType declaringType, IXamlTypeRepository xamlTypeRepository, ITypeFeatureProvider typeFeatureProvider) : base(name) { FeatureProvider = typeFeatureProvider; TypeRepository = xamlTypeRepository; DeclaringType = declaringType; }
public PerspexXamlMember(string name, XamlType owner, IXamlTypeRepository xamlTypeRepository, ITypeFeatureProvider featureProvider, IPerspexPropertyBinder propertyBinder) : base(name, owner, xamlTypeRepository, featureProvider) { this.propertyBinder = propertyBinder; }
public PerspexAttachableXamlMember(string name, XamlType owner, MethodInfo getter, MethodInfo setter, IXamlTypeRepository xamlTypeRepository, ITypeFeatureProvider featureProvider) : base(name, getter, setter, xamlTypeRepository, featureProvider) { }
protected MutableXamlMember(string name, XamlType owner, IXamlTypeRepository xamlTypeRepository, ITypeFactory typeFactory) : base(name) { TypeRepository = xamlTypeRepository; TypeFactory = typeFactory; DeclaringType = owner; XamlType = LookupType(); }
public AttachableXamlMember(string name, MethodInfo getter, MethodInfo setter, IXamlTypeRepository xamlTypeRepository, ITypeFeatureProvider featureProvider) : base(name, xamlTypeRepository.GetXamlType(getter.DeclaringType), xamlTypeRepository, featureProvider) { this.getter = getter; this.setter = setter; XamlType = LookupType(); }
public ITypeContext Build() { nsRegistry = new XamlNamespaceRegistry(); typeRepository = new XamlTypeRepository(nsRegistry); RegisterPrefixes(nsRegistry); RegisterNamespaces(nsRegistry); return new TypeContext(typeRepository, nsRegistry, typeFactory); }
private Type ResolveFromString(string typeLocator, IXamlTypeRepository typeRepository) { Guard.ThrowIfNull(typeLocator, nameof(typeLocator)); var prefixAndType = typeLocator.Dicotomize(':'); var xamlType = typeRepository.GetByPrefix(prefixAndType.Item1, prefixAndType.Item2); return(xamlType.UnderlyingType); }
private Type ResolveFromString(string type, IXamlTypeRepository typeRepository) { Guard.ThrowIfNull(type, nameof(type)); var split = type.Split(':'); var prefix = split.Length == 1 ? split[0] : null; var typeName = split.Length == 1 ? split[1] : split[0]; var xamlType = typeRepository.GetByPrefix(prefix, typeName); return xamlType.UnderlyingType; }
private Type ResolveFromString(string type, IXamlTypeRepository typeRepository) { Guard.ThrowIfNull(type, nameof(type)); var split = type.Split(':'); var prefix = split.Length == 1 ? split[0] : null; var typeName = split.Length == 1 ? split[1] : split[0]; var xamlType = typeRepository.GetByPrefix(prefix, typeName); return(xamlType.UnderlyingType); }
public ITypeContext Build() { nsRegistry = new XamlNamespaceRegistry(); typeRepository = new XamlTypeRepository(nsRegistry, typeFactory, featureProvider); RegisterPrefixes(nsRegistry); RegisterNamespaces(nsRegistry); return(new TypeContext(typeRepository, nsRegistry, typeFactory)); }
public XamlType(Type type, IXamlTypeRepository typeRepository, ITypeFactory typeTypeFactory, ITypeFeatureProvider featureProvider) { Guard.ThrowIfNull(type, nameof(type)); Guard.ThrowIfNull(typeRepository, nameof(typeRepository)); Guard.ThrowIfNull(featureProvider, nameof(featureProvider)); TypeRepository = typeRepository; TypeFactory = typeTypeFactory; FeatureProvider = featureProvider; UnderlyingType = type; Name = type.Name; }
public static void RegisterMetadataFromAttributes(this IXamlTypeRepository typeRepository, IEnumerable <Type> types) { var gatheredDependencies = types.GatherAttributesFromMembers <DependsOnAttribute, Tuple <PropertyInfo, string> >((propertyInfo, attribute) => new Tuple <PropertyInfo, string>(propertyInfo, attribute.PropertyName)); foreach (var tuple in gatheredDependencies) { var metadata = new Metadata(); var type = tuple.Item1.DeclaringType; var property = tuple.Item1.Name; var dependsOn = tuple.Item2; metadata.SetMemberDependency(property, dependsOn); typeRepository.RegisterMetadata(type, metadata); } }
public TypeContextBuilder() { nsRegistry = new XamlNamespaceRegistry(); typeRepository = new XamlTypeRepository(nsRegistry, typeFactory, featureProvider); }
public static XamlType Create(Type underlyingType, IXamlTypeRepository xamlTypeRepository, ITypeFactory typeFactory, ITypeFeatureProvider featureProvider) { Guard.ThrowIfNull(underlyingType, nameof(xamlTypeRepository)); return new XamlType(underlyingType, xamlTypeRepository, typeFactory, featureProvider); }
public PerspexXamlType(Type type, IXamlTypeRepository typeRepository, ITypeFactory typeFactory, ITypeFeatureProvider featureProvider) : base(type, typeRepository, typeFactory, featureProvider) { }
public static void RegisterMetadata <T>(this IXamlTypeRepository typeRepository, Metadata <T> metadata) { typeRepository.RegisterMetadata(typeof(T), metadata); }
public static XamlMember CreateAttached(string name, XamlType parent, IXamlTypeRepository mother) { return new XamlMember(name, parent, mother, true); }
public ValuePipeline(IXamlTypeRepository typeRepository, ITopDownValueContext topDownValueContext) { this.typeRepository = typeRepository; this.topDownValueContext = topDownValueContext; }
public AttachableXamlMember(string name, XamlType owner, IXamlTypeRepository xamlTypeRepository, ITypeFactory typeFactory) : base(name, owner, xamlTypeRepository, typeFactory) { }
private XamlType LookupType(string name, XamlType owner, IXamlTypeRepository mother, bool isAttachable) { if (!isAttachable) { var property = owner.UnderlyingType.GetRuntimeProperty(name); return XamlType.Builder.Create(property.PropertyType, mother); } var getMethod = GetGetMethodForAttachable(owner, name); return XamlType.Builder.Create(getMethod.ReturnType, mother); }
public XamlMember(string name, XamlType declaringType, IXamlTypeRepository xamlTypeRepository, ITypeFeatureProvider featureProvider) : base(name, declaringType, xamlTypeRepository, featureProvider) { XamlType = LookupType(); }
public WpfXamlType(Type type, IXamlTypeRepository wiringContext, ITypeFactory typeFactory) : base(type, wiringContext, typeFactory) { this.wiringContext = wiringContext; this.typeFactory = typeFactory; }
public XamlTypeConverterContext(IXamlTypeRepository typeRepository, ITopDownValueContext topDownValueContext) { this.typeRepository = typeRepository; this.topDownValueContext = topDownValueContext; }
public TypeContext(IXamlTypeRepository typeRepository, IXamlNamespaceRegistry nsRegistry, ITypeFactory typeFactory) { this.typeRepository = typeRepository; this.nsRegistry = nsRegistry; this.typeFactory = typeFactory; }
public WpfXamlMember(string name, XamlType owner, IXamlTypeRepository mother, bool isAttachable) : base(name, owner, mother, isAttachable) { }
private XamlMember GetRegularMember(XamlType tagType, IXamlTypeRepository typeRepository) { return typeRepository.GetXamlType(tagType.UnderlyingType).GetMember(Locator.PropertyName); }
public XamlInstructionBuilder(IXamlTypeRepository registry) { this.registry = registry; }
public WpfXamlMember(string name, XamlType declaringType, IXamlTypeRepository xamlTypeRepository, ITypeFeatureProvider typeFeatureProvider) : base(name, declaringType, xamlTypeRepository, typeFeatureProvider) { }
public static XamlMember Create(string name, XamlType parent, IXamlTypeRepository mother) { return new XamlMember(name, parent, mother, false); }
public WpfXamlType(Type type, IXamlTypeRepository xamlTypeRepository, ITypeFactory typeFactory, ITypeFeatureProvider featureProvider) : base(type, xamlTypeRepository, typeFactory, featureProvider) { }
public WpfXamlType(Type type, IXamlTypeRepository typeRepository) : base(type, typeRepository) { this.typeRepository = typeRepository; }
public static Metadata GetMetadata <T>(this IXamlTypeRepository typeRepository) { return(typeRepository.GetMetadata(typeof(T))); }