using System.Collections.Generic;
public static void Main()
#region Assignment compatibility
#endregion Assignment compatibility
#region Covariance (Array)
object[] array = new String[10];
#endregion Covariance (Array)
#region Covariance (Generic Interface)
IEnumerable<string> strings = new List<string>();
IEnumerable<object> objects = strings;
#endregion Covariance (Generic Interface)
#region Covariance (In Delegates)
Func<object> del = GetString;
#endregion Covariance (In Delegates)
#region Contravariance (In Delegates)
Action<string> del2 = SetObject;
#endregion Contravariance (In Delegates)
static void SetObject(object o) { }
static string GetString() { return ""; }