using System.Threading.Tasks;
public static void Main()
var str = new Container<string>("Hello worlkd");
var obj = (IContainer<object>)str;;
Console.WriteLine(obj.Value.ToString());
public interface IContainer<out T>
public class Container<T> : IContainer<T>
public Container(T @value)
public T Value { get; set;}