Search code examples
c#genericsreturn-typeidictionary

Generic class as return type


I have a storage class that uses generics to hold different values.

public class Setting<T>
{
    ...
}

In another class I want to make a method like

  public Setting<T> getSetting(string setting)
  {
        return (Setting<T>)settingDictionary[setting];
  }

Where settingDictionary is

 private Dictionary<string, object> settingDictionary;

I get error:

The type or namespace name 'T' could not be found (are you missing a using directive or an assembly reference?)

Is there a way to solve this? thanks


Solution

  • You need to make the method generic:

     public Setting<T> GetSetting<T>(string setting)
     {
       // ... Your code...