internal Type GetVariableTypeInternal(string name)
        {
            IVariable value   = null;
            bool      success = _myVariables.TryGetValue(name, out value);

            if (success == true)
            {
                return(value.VariableType);
            }

            ResolveVariableTypeEventArgs args = new ResolveVariableTypeEventArgs(name);

            ResolveVariableType?.Invoke(this, args);

            return(args.VariableType);
        }
Exemple #2
0
        internal Type GetVariableTypeInternal(string name)
        {
            IVariable value   = null;
            bool      success = _myVariables.TryGetValue(name, out value);

            if (success == true)
            {
                if (typeof(IVariableReference).IsAssignableFrom(value.VariableType))
                {
                    var val = (IVariableReference)value.ValueAsObject;
                    return(GetVariableTypeInternal(val.Target));
                }

                return(value.VariableType);
            }

            ResolveVariableTypeEventArgs args = new ResolveVariableTypeEventArgs(name);

            ResolveVariableType?.Invoke(this, args);

            return(args.VariableType);
        }