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: 2010-06-22 11:37:01
Posts: 32, Visits: 193
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: 2010-05-15 22:36:10
Posts: 188, Visits: 451
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

Permissions Expand / Collapse

All times are GMT +1:00, Time now is 10:38

Powered By InstantForum.NET v4.1.4 © 2010
Execution: 0,281. 10 queries. Compression Disabled.