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); }
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); }