linux-packaging-mono/mcs/tests/test-null-operator-010.cs
Jo Shields 181b81b4a4 Imported Upstream version 3.12.0
Former-commit-id: cf92446697332992ec36726e78eb8703e1f259d7
2015-01-13 10:44:36 +00:00

42 lines
500 B
C#

using System;
class Test
{
static void Main ()
{
Test_1 ("");
Test_1<object> (null);
Test_2<object> (null);
Test_2 ("z");
Test_2 (0);
Test_2 ((long?) -8);
Test_3 (new int[1]);
Test_3 (new int[] { 5 });
}
static void Test_1<T> (T x) where T : class
{
x?.Call ();
}
static void Test_2<T> (T x)
{
x?.Call ();
}
static void Test_3<T> (T[] x)
{
x[0]?.Call ();
}
}
static class Ext
{
public static void Call<T> (this T t)
{
Console.WriteLine (typeof (T));
}
}