小编Mat*_*usz的帖子

分配给接口数组初始化器编译但为什么?

今天我觉得制作一个接口类型的匿名对象是很好的,我在SO上看到我不仅仅是一个.

在我开始查看发生了什么之前,我写了一些代码,如下所示.为了我的娱乐它编译,我使用.net框架4,我知道没有办法做匿名对象实现接口,但我还没有看到VS对此代码的投诉.

更好的是,当我把括号intelisense发现我的界面的"属性",就像它是有效的代码.

为什么这篇文章正在编译,何时运行它会给出null引用异常?

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            Holder holder = new Holder { someInterface = { Property = 1 } };
            Console.WriteLine(holder.someInterface.Property);
        }
    }

    class Holder
    {
        public ISomeInterface someInterface{get; set;}
    }

    interface ISomeInterface
    {
        int Property { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

c#

10
推荐指数
1
解决办法
165
查看次数

标签 统计

c# ×1