コード例 #1
0
        internal override void ProcessExtensionMethod(MethodInfo mi)
        {
            var target = (ReflectedPropertyTreeDefinition) PropertyTreeDefinition.FromType(
                mi.GetParameters()[0].ParameterType);

            var attachedID = GetAttachedPropertyID(mi);
            var existing = (ReflectedExtenderPropertyDefinition) target.GetProperty(attachedID);

            if (existing == null) {
                var extender = new ReflectedExtenderPropertyDefinition(attachedID);
                target.AddPropertyDefinition(extender);
                existing = extender;
            }

            existing.AddMethod(mi);
        }
コード例 #2
0
 internal void AddPropertyDefinition(ReflectedExtenderPropertyDefinition definition)
 {
     this.properties.AddInternal(definition);
 }