I want to know if one class have associations with the class which name is class2 in code at run time
CapableObjects Forums
Home       Members    Calendar    Who's On
Welcome Guest ( Login | Register )
        



I want to know if one class have associations... Expand / Collapse
Author
Message
Posted 2010-03-22 12:43:34
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

Group: Forum Members
Last Login: 2011-12-15 02:08:37
Posts: 35, Visits: 260
As title; I have many classes , I want to know if one class have association relationship with the class2? If have ,I will do some thing.
thank you!
Post #5032
Posted 2010-03-22 14:25:00
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

Group: Forum Members
Last Login: 2012-01-26 14:59:09
Posts: 242, Visits: 828
You can use this function:

        public static bool AreClasesAssociated(EcoSpace parEcoSpace, Type parClassSource, Type parClassTarget)
        {
            bool result = false;
            //ITypeSystemService tss = EcoServiceHelper.GetTypeSystemService(EcoSpace);
            IClass classSource = parEcoSpace.TypeSystem.GetClassByType(parClassSource);
            // IClass classTarget = EcoSpace.TypeSystem.GetClassByType(parClassTarget);

            if (classSource != null)
            {
                foreach (var sf in classSource.AllStructuralFeatures)
                {
                    if (sf is IAssociationEnd && (sf as IAssociationEnd).Class_.ObjectType == parClassTarget)
                    {
                        result = true;
                        break;
                    }
                }
            }
            return result;
        }

Usage: bool result = AreClasesAssociated (myEcoSpace, typeof(Person, typeof(Order)));

where Person, Order - Eco Classes, myEcospace - an EcoSpace instance for the model containing these classes.

/Efim

Post #5033
« Prev Topic | Next Topic »


Reading This Topic Expand / Collapse
Active Users: 0 (0 guests, 0 members, 0 anonymous members)
No members currently viewing this topic.
Forum Moderators: HansKarlsen, Jonas Hogstrom, PeterMorris

Permissions Expand / Collapse

All times are GMT +1:00, Time now is 4:24

Powered By InstantForum.NET v4.1.4 © 2012
Execution: 0,172. 9 queries. Compression Disabled.