public OverloadReflectionWrap(MethodBase methodBase, GeneralGetterManager generalGetterManager, GeneralSetterManager generalSetterManager) { parameters = new Parameters(methodBase.GetParameters(), generalGetterManager, generalSetterManager); this.generalGetterManager = generalGetterManager; if (methodBase.IsConstructor) { constructorInfo = methodBase as ConstructorInfo; } else { methodInfo = methodBase as MethodInfo; resultSetter = generalSetterManager.GetTranslateFunc(methodInfo.ReturnType); } }
public OverloadReflectionWrap(MethodBase methodBase, GeneralGetterManager generalGetterManager, GeneralSetterManager generalSetterManager, bool extensionMethod = false) { parameters = new Parameters(methodBase.GetParameters().Skip(extensionMethod ? 1 : 0).ToArray(), generalGetterManager, generalSetterManager); this.generalGetterManager = generalGetterManager; this.extensionMethod = extensionMethod; if (methodBase.IsConstructor) { constructorInfo = methodBase as ConstructorInfo; } else { methodInfo = methodBase as MethodInfo; resultSetter = generalSetterManager.GetTranslateFunc(methodInfo.ReturnType); } }
public void RegisterSetter(Type type, GeneralSetter generalSetter) { generalSetterMap.Add(type, generalSetter); }
public void RegisterGeneralGetSet(Type type, GeneralGetter getter, GeneralSetter setter) { GeneralGetterManager.RegisterGetter(type, getter); GeneralSetterManager.RegisterSetter(type, setter); }