今天我觉得制作一个接口类型的匿名对象是很好的,我在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# ×1