public bool IsSameMethod(IMethodPointer pointer) { MethodClassInherited mci = pointer as MethodClassInherited; if (mci != null) { return(mci.WholeId == this.WholeId); } return(false); }
public override void OnPostSerialize(ObjectIDmap objMap, XmlNode objectNode, bool saved, object serializer) { base.OnPostSerialize(objMap, objectNode, saved, serializer); MemberId = XmlUtility.XmlUtil.GetAttributeUInt(objectNode, XmlTags.XMLATT_MethodID); //load attributes from base ClassPointer root = objMap.GetTypedData <ClassPointer>(); MethodClassInherited p = root.GetBaseMethod(this.MethodSignature, BaseClassId, BaseMethodId); CopyFromInherited(p); }
public void CopyFromInherited(MethodClassInherited baseMethod) { Name = baseMethod.Name; BaseMethodId = baseMethod.MemberId; BaseClassId = baseMethod.Declarer.ClassId; _baseIsAbstract = baseMethod.IsAbstract; AccessControl = baseMethod.AccessControl; ReturnValue = baseMethod.ReturnValue; DataTypePointer[] dps = new DataTypePointer[baseMethod.ParameterCount]; for (int i = 0; i < baseMethod.ParameterCount; i++) { dps[i] = baseMethod.Parameters[i]; } Parameters = baseMethod.Parameters; }