public class Program { public class Container { public T Value { get; set; } } public static int Main(string[] args) { Container intContainer = new Container { Value = 42 }; // Cast generic type to object object obj = (object)intContainer; // Check type and cast back if (obj is Container container) { return container.Value; } return 0; } }