public TypeMetadata( string name, Type baseType, Type[] interfaces, DispatcherFieldMetadata dispatcherField, FieldMetadata[] fields, ConstructorMetadata[] constructors, MethodMetadata[] methods, PropertyMetadata[] properties, EventMetadata[] events, TargetMetadata[] targets) { _name = name; _baseType = baseType; _interfaces = interfaces; _dispatcherField = dispatcherField; _fields = fields; _constructors = constructors; _methods = methods; _properties = properties; _events = events; _targets = targets; }
protected virtual void InitializeMixins() { var currentMixinPosition = 1; for (var i = 0; i < _proxyDefinition.Interfaces.Length; i++) { var mixinInterface = _proxyDefinition.Interfaces[i] as MixinInterfaceDefinition; if (mixinInterface == null) { break; } var name = String.Format("mixin{0}", currentMixinPosition++); var mixin = new TargetMetadata( name, mixinInterface.Type, mixinInterface.MixinType, mixinInterface.ProxyInstantiated); _mixins.Add(mixin); _fields.Add(mixin.InstanceField); InitializeDefinitionMethods(mixinInterface, mixin.InstanceField, true); InitializeDefinitionProperties(mixinInterface, mixin.InstanceField, true); InitializeDefinitionEvents(mixinInterface, mixin.InstanceField, true); } }