private void AddVariable(string name, string type, byte[] data) { Type[] types = typeof(Native).GetNestedTypes(); Type native = types.Where(t => t.Name == "_" + type).SingleOrDefault(); if (native == null) { throw new Exception("Unsupported type send from server"); } Variable v = new Variable(native, name); v.DataToStruct(data); variables.Add(v); OnVariableAdded(v); }