Exemplo n.º 1
0
        public object getValue(EnumConstant constant, EnumFramework framework = EnumFramework.Default)
        {
            var constantModel = constants.Where(a => a.Name.Equals(constant.ToString())).FirstOrDefault();

            if (constantModel != null)
            {
                String dtype = constantModel.DataType;
                var    value = constantModel.Values.Where(a => a.Framework.ToLower().Equals(framework.ToString().ToLower())).FirstOrDefault();
                if (value != null)
                {
                    bool   parseSuccess = false;
                    object parsedData   = null;
                    try
                    {
                        var type = Type.GetType(dtype);
                        if (type.Name.ToLower().Equals("string"))
                        {
                            return(value.Value);
                        }
                        parsedData   = type.GetMethod("Parse", new[] { typeof(string) }).Invoke(null, new object[] { value.Value });
                        parseSuccess = true;
                    }
                    catch (Exception ex)
                    {
                        parseSuccess = false;
                    }
                    if (parseSuccess)
                    {
                        return(parsedData);
                    }
                    else
                    {
                        return(null);
                    }
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 2
0
        public bool updateValue(EnumConstant constant, String str, EnumFramework framework = EnumFramework.Default)
        {
            var constantModel = constants.Where(a => a.Name.Equals(constant.ToString())).FirstOrDefault();

            if (constantModel != null)
            {
                String dtype = constantModel.DataType;
                var    value = constantModel.Values.Where(a => a.Framework.ToLower().Equals(framework.ToString().ToLower())).FirstOrDefault();
                if (value != null)
                {
                    value.Value = str;
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 3
0
 /**
  * Call back method that must be called as soon as the given <code>
  * EnumConstant</code> object has been traversed.
  *
  * @param pEnumConstant  The <code>EnumConstant</code> object that has just
  *                       been traversed.
  */
 public void actionPerformed(
      EnumConstant pEnumConstant)
 {
     // Nothing to do.
 }
Exemplo n.º 4
0
 /**
  * Call back method that must be called when the given <code>EnumConstant
  * </code> will become the next <i>traverse candidate</i>.
  *
  * @param pEnumConstant  The <code>EnumConstant</code> object that will
  *                       become the next <i>traverse candidate</i>.
  */
 public void performAction(
      EnumConstant pEnumConstant)
 {
     // Nothing to do.
 }
Exemplo n.º 5
0
		void genericServer_DataDomainChanged(object sender, string changedIn, EnumConstant.Enums.Methology methology)
		{
			ProcessException.WriteInfoLog("DataDomain changed at:\r\n" + DateTimeUtils.GetBaseDateTimeString(DateTime.Now) + "\r\nMethology: \r\n" +
				methology.ToString() + "\r\nChangedIn: \r\n" + changedIn + "\r\nInfo: \r\n" + sender.ToString(), "");

            //if (GlobalCache.IsInitialized)
            //    GlobalCache.SystemCacheData.UpdateCache(changedIn);
		}
Exemplo n.º 6
0
		//
		// Imports System.Reflection parameters
		//
		AParametersCollection CreateParameters (TypeSpec parent, ParameterInfo[] pi, MethodBase method)
		{
			int varargs = method != null && (method.CallingConvention & CallingConventions.VarArgs) != 0 ? 1 : 0;

			if (pi.Length == 0 && varargs == 0)
				return ParametersCompiled.EmptyReadOnlyParameters;

			TypeSpec[] types = new TypeSpec[pi.Length + varargs];
			IParameterData[] par = new IParameterData[pi.Length + varargs];
			bool is_params = false;
			for (int i = 0; i < pi.Length; i++) {
				ParameterInfo p = pi[i];
				Parameter.Modifier mod = 0;
				Expression default_value = null;
				if (p.ParameterType.IsByRef) {
					if ((p.Attributes & (ParameterAttributes.Out | ParameterAttributes.In)) == ParameterAttributes.Out)
						mod = Parameter.Modifier.OUT;
					else
						mod = Parameter.Modifier.REF;

					//
					// Strip reference wrapping
					//
					var el = p.ParameterType.GetElementType ();
					types[i] = ImportType (el, new DynamicTypeReader (p));	// TODO: 1-based positio to be csc compatible
				} else if (i == 0 && method.IsStatic && (parent.Modifiers & Modifiers.METHOD_EXTENSION) != 0 &&
					HasAttribute (CustomAttributeData.GetCustomAttributes (method), "ExtensionAttribute", CompilerServicesNamespace)) {
					mod = Parameter.Modifier.This;
					types[i] = ImportType (p.ParameterType, new DynamicTypeReader (p));
				} else {
					types[i] = ImportType (p.ParameterType, new DynamicTypeReader (p));

					if (i >= pi.Length - 2 && types[i] is ArrayContainer) {
						if (HasAttribute (CustomAttributeData.GetCustomAttributes (p), "ParamArrayAttribute", "System")) {
							mod = Parameter.Modifier.PARAMS;
							is_params = true;
						}
					}

					if (!is_params && p.IsOptional) {
						object value = p.RawDefaultValue;
						var ptype = types[i];
						if ((p.Attributes & ParameterAttributes.HasDefault) != 0 && ptype.Kind != MemberKind.TypeParameter && (value != null || TypeSpec.IsReferenceType (ptype))) {
							if (value == null) {
								default_value = Constant.CreateConstantFromValue (ptype, null, Location.Null);
							} else {
								default_value = ImportParameterConstant (value);

								if (ptype.IsEnum) {
									default_value = new EnumConstant ((Constant) default_value, ptype);
								}
							}

							var attrs = CustomAttributeData.GetCustomAttributes (p);
							for (int ii = 0; ii < attrs.Count; ++ii) {
								var attr = attrs[ii];
								var dt = attr.Constructor.DeclaringType;
								if (dt.Namespace != CompilerServicesNamespace)
									continue;

								if (dt.Name == "CallerLineNumberAttribute" && (ptype.BuiltinType == BuiltinTypeSpec.Type.Int || Convert.ImplicitNumericConversionExists (module.Compiler.BuiltinTypes.Int, ptype)))
									mod |= Parameter.Modifier.CallerLineNumber;
								else if (dt.Name == "CallerFilePathAttribute" && Convert.ImplicitReferenceConversionExists (module.Compiler.BuiltinTypes.String, ptype))
									mod |= Parameter.Modifier.CallerFilePath;
								else if (dt.Name == "CallerMemberNameAttribute" && Convert.ImplicitReferenceConversionExists (module.Compiler.BuiltinTypes.String, ptype))
									mod |= Parameter.Modifier.CallerMemberName;
							}
						} else if (value == Missing.Value) {
							default_value = EmptyExpression.MissingValue;
						} else if (value == null) {
							default_value = new DefaultValueExpression (new TypeExpression (ptype, Location.Null), Location.Null);
						} else if (ptype.BuiltinType == BuiltinTypeSpec.Type.Decimal) {
							default_value = ImportParameterConstant (value);
						}
					}
				}

				par[i] = new ParameterData (p.Name, mod, default_value);
			}

			if (varargs != 0) {
				par[par.Length - 1] = new ArglistParameter (Location.Null);
				types[types.Length - 1] = InternalType.Arglist;
			}

			return method != null ?
				new ParametersImported (par, types, varargs != 0, is_params) :
				new ParametersImported (par, types, is_params);
		}
Exemplo n.º 7
0
 /**
  * Constructor.
  *
  * @param pTree  The tree node representing a type.
  * @param pOwner  The enum constant the new object belongs to.
  * @param pTokenRewriteStream  The token stream the token of the stated
  *                             tree node belongs to.
  */
 public AST2ClassTopLevelScope(
     AST2JSOMTree pTree, EnumConstant pOwner,
     TokenRewriteStream pTokenRewriteStream)
     : this(pTree, pTokenRewriteStream)
 {
     mOwnerEnumConstant = pOwner;
     mOwnerType = OwnerType.ENUM_CONSTANT_DECLARATION;
 }
Exemplo n.º 8
0
 /// <summary>
 /// 获得常数列的一个实体
 /// </summary>
 /// <param name="type"></param>
 /// <param name="ID"></param>
 /// <returns></returns>
 public NeuObject GetConstant(EnumConstant type, string ID)
 {
     return(this.GetConstant(type.ToString(), ID));
 }
Exemplo n.º 9
0
        /// <summary>
        /// 获得常数所有列
        /// </summary>
        /// <param name="constType"></param>
        /// <returns></returns>
        public ArrayList GetAllList(EnumConstant constType)
        {
            string type = constType.ToString();

            return(this.GetAllList(type));
        }