BExIS.Dcm.CreateDatasetWizard.UsageHelper.GetCompoundChildrens C# (CSharp) Метод

GetCompoundChildrens() публичный статический Метод

public static GetCompoundChildrens ( BaseUsage usage ) : List
usage BaseUsage
Результат List
        public static List<BaseUsage> GetCompoundChildrens(BaseUsage usage)
        {
            List<BaseUsage> temp = new List<BaseUsage>();

            if (usage is MetadataPackageUsage)
            {
                MetadataPackageUsage mpu = (MetadataPackageUsage)usage;

                foreach (BaseUsage childUsage in mpu.MetadataPackage.MetadataAttributeUsages)
                {
                    if(IsCompound(childUsage))
                        temp.Add(childUsage);
                }
            }

            if (usage is MetadataAttributeUsage)
            {
                MetadataAttributeUsage mau = (MetadataAttributeUsage)usage;
                if (mau.MetadataAttribute.Self is MetadataCompoundAttribute)
                {
                    foreach (BaseUsage childUsage in ((MetadataCompoundAttribute)mau.MetadataAttribute.Self).MetadataNestedAttributeUsages)
                    {
                        if (IsCompound(childUsage))
                            temp.Add(childUsage);
                    }
                }
            }

            if (usage is MetadataNestedAttributeUsage)
            {
                MetadataNestedAttributeUsage mnau = (MetadataNestedAttributeUsage)usage;
                if (mnau.Member.Self is MetadataCompoundAttribute)
                {
                    foreach (BaseUsage childUsage in ((MetadataCompoundAttribute)mnau.Member.Self).MetadataNestedAttributeUsages)
                    {
                        if (IsCompound(childUsage))
                            temp.Add(childUsage);
                    }
                }
            }

            return temp;
        }