SIL.FieldWorks.FdoUi.CmObjectUi.GetSelfOrParentOfClass C# (CSharp) Method

GetSelfOrParentOfClass() public static method

Return either the object or an owner ("parent") up the ownership chain that is of the desired class. Being a subclass of the desired class also matches, unlike ICmObject.OwnerOfClass() where the class must match exactly.
public static GetSelfOrParentOfClass ( ICmObject cmo, int classIdToSearchFor ) : ICmObject
cmo ICmObject
classIdToSearchFor int
return ICmObject
		public static ICmObject GetSelfOrParentOfClass(ICmObject cmo, int classIdToSearchFor)
		{
			if (cmo == null)
				return null;
			IFwMetaDataCache mdc = cmo.Cache.DomainDataByFlid.MetaDataCache;
			for (; cmo != null; cmo = cmo.Owner)
			{
				if ((DomainObjectServices.IsSameOrSubclassOf(mdc, cmo.ClassID, classIdToSearchFor)))
					return cmo;
			}
			return null;
		}