private readonly Dictionary<string,Func<object>> values = new Dictionary<string,Func<object>>();

Hoge(){
  string x = 100;
  this.values[nameof(x)] = () = x;

  int ans = this.GetValue<int>( nameof( x ) ) * 2;
  Console.WriteLine( ans );
}

T GetValue<T>( string name ) => (T)this.values[name]?.Invoke();

みたいなことをやれば辛うじてできなくはないが、保守性も効率も最悪なので普通はやらない。