can you hold a generic type variable c# code example
Example 1: c# reflection create generic type
Type generic = typeof(Dictionary<,>);
Type[] typeArgs = { typeof(string), typeof(Test) };
Type constructed = generic.MakeGenericType(typeArgs);
var instance = Activator.CreateInstance(constructedType);
Example 2: c# store generic type without arguments
public interface IModel<out T> where T : class
{
T Value { get; }
}
public class Model<T> : IModel<T> where T : class
{
public T Value { get; set; }
}
class Program
{
static void Main(string[] args)
{
var foo = new Model<string>()
{
Value = "hello world",
};
IModel<object> boo = foo;
Console.WriteLine(boo.Value);
}
}