我最近读到C#和CLI标准定义了处理值类型和构造函数的不同方法。C#&CLI与值类型和构造函数有什么区别?
根据CLI规范,值类型不能具有无参数构造函数,而在C#规范中,值类型具有默认无参数构造函数。如果根据CLI规范,您需要创建一个值而不指定任何参数,那么需要一个特殊的指令来执行此操作。
所以我的问题是
- 为什么C#的设计者有意从CLI标准偏差 - 什么好处在那里这一点,为什么不CLI允许这种功能?
- 在我有限的经验中,任何时候当我发现自己使用'特殊指令'来允许最初并不打算使用的功能时,它通常都是一些黑客行为。这有什么不同?
您是否使用Reflector查看过代码? – 2010-08-05 09:41:32
不,我没有任何特定的代码来看待,因为我将这个问题的基础是我读的东西 – DaveDev 2010-08-05 09:48:47
出于兴趣,你在哪里读过它?我知道这是我已经指出的几次,但我没有看到很多其他人提到它。 – 2010-08-05 09:49:36