// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. // Nullable - CastClass // Nullable type with castclass expr // // checking type of ImplementOneInterfaceGen using cast expr // // // // using System.Runtime.InteropServices; using System; internal class NullableTest { private static bool BoxUnboxToNQ(object o) { return Helper.Compare((ImplementOneInterfaceGen)(IEmptyGen)o, Helper.Create(default(ImplementOneInterfaceGen))); } private static bool BoxUnboxToQ(object o) { return Helper.Compare((ImplementOneInterfaceGen?)(IEmptyGen)o, Helper.Create(default(ImplementOneInterfaceGen))); } private static int Main() { ImplementOneInterfaceGen? s = Helper.Create(default(ImplementOneInterfaceGen)); if (BoxUnboxToNQ(s) && BoxUnboxToQ(s)) return ExitCode.Passed; else return ExitCode.Failed; } }