public virtual T readValue <T>()
 {
     if (typeof(IFileReadable).IsAssignableFrom(typeof(T)))
     {
         IFileReadable obj = Activator.CreateInstance <T>() as IFileReadable;
         obj.read(this);
         return((T)obj);
     }
     return(KVTableTypeReaderRegistry.read <T>(this));
 }
 public virtual object readValue(Type type)
 {
     if (typeof(IFileReadable).IsAssignableFrom(type))
     {
         IFileReadable obj = Activator.CreateInstance(type) as IFileReadable;
         obj.read(this);
         return(obj);
     }
     return(KVTableTypeReaderRegistry.read(this, type));
 }