コード例 #1
0
ファイル: CListeEntites.cs プロジェクト: ykebaili/sc2idlls
        public IElementAVariablesDynamiquesAvecContexteDonnee GetElementAVariableSourceFromType(Type tp)
        {
            if (tp == null)
            {
                return(null);
            }
            CElementAVariablesDynamiques elt = CElementAVariablesDynamiques.GetElementAUneVariableType(tp, DynamicClassAttribute.GetNomConvivial(tp));

            return(elt);
        }
コード例 #2
0
        /// <summary>
        /// ///////////////////////////////////////////////////////////////////////////////////////
        /// </summary>
        /// <param name="typeDonnee"></param>
        /// <returns></returns>
        public static object GetNewForTypeDonnee(TypeDonnee typeDonnee, Type typeObjetDonnee, object valeur)
        {
            object objTest = null;

            switch (typeDonnee)
            {
            case TypeDonnee.tBool:
                if (valeur == null)
                {
                    objTest = new CObjetForTestValeurChampCustomBool( );
                }
                else
                {
                    objTest = new CObjetForTestValeurChampCustomBool((bool)Convert.ChangeType(valeur, typeof(bool), null));
                }
                break;

            case TypeDonnee.tDate:
                if (valeur == null)
                {
                    objTest = new CObjetForTestValeurChampCustomDateTime( );
                }
                else
                {
                    objTest = new CObjetForTestValeurChampCustomDateTime((DateTime)Convert.ChangeType(valeur, typeof(DateTime), null));
                }
                break;

            case TypeDonnee.tDouble:
                if (valeur == null)
                {
                    objTest = new CObjetForTestValeurChampCustomDouble( );
                }
                else if (valeur is CValeurUnite)
                {
                    objTest = new CObjetForTestValeurChampCustomDouble(((CValeurUnite)valeur).Valeur);
                }
                else
                {
                    objTest = new CObjetForTestValeurChampCustomDouble((double)Convert.ChangeType(valeur, typeof(double), null));
                }
                break;

            case TypeDonnee.tEntier:
                if (valeur == null)
                {
                    objTest = new CObjetForTestValeurChampCustomInt( );
                }
                else
                {
                    objTest = new CObjetForTestValeurChampCustomInt((int)Convert.ChangeType(valeur, typeof(int), null));
                }

                break;

            case TypeDonnee.tString:
                if (valeur == null)
                {
                    objTest = new CObjetForTestValeurChampCustomString();
                }
                else
                {
                    objTest = new CObjetForTestValeurChampCustomString(valeur.ToString());
                }
                break;

            case TypeDonnee.tObjetDonneeAIdNumeriqueAuto:
                CElementAVariablesDynamiques element = CElementAVariablesDynamiques.GetElementAUneVariableType(typeObjetDonnee, "value");
                element.SetValeurChamp((IVariableDynamique)element.ListeVariables[0], valeur);
                objTest = element;
                break;

            default:
                throw new Exception(I.T("The type @1 isn't implemented in the value tests|185", typeDonnee.ToString()));
            }
            return(objTest);
        }