摘要:以下是我在MS News Group里,对“什么情况下定义interface”这一问题的回答,基本上体现我现在对interface的理解,可能有不足或者完全就是谬误,希望能得到大家的指正:一个类实现了某个接口,就相当于声明我能够完成某项工作。比如一个类实现了IComparable接口,就相当于声明了我可以完成对自身实例进行比较的工作。 明白了以上这些,就可以回答,什么时候我们需要定义一个接口的问题...
阅读全文
04 2004 档案
摘要:今天在微软新闻组里,看到有人问对于以下这个类:class Test { public Test() { throw new Exception("Can not use this constructor"); } public void Hello() { Console.WriteLine("hello Wo...
阅读全文
摘要:在csdn里问了个问题,结果竟然没有人回答得上来...默~~~http://expert.csdn.net/Expert/topic/3003/3003569.xml?temp=.2239038主要问题,数据库里的内容会发生更改,想用缓存在DataSet里的数据去恢复它。但是DataAdapter.Update()只更新DataSet中,标记为modified的行,如果DataSet没有修改过,就...
阅读全文
摘要:在C#中,Dispose()方法必须由程序员自己显示的调用,如果你忘记了这么做,那么在GC回收这个对象之前,它的非托管资源都得不到释放。相比较之下,C++中的析构函数就显得比较优雅:在对象退出作用域后,会自动调用析构函数。在C#虽然也有析构函数,但是那实际上是一个Finalize()方法。大家都知道Finalize()方法有很多问题。在C++/CLI(VS2005中的managed C++),析构...
阅读全文
摘要:不用担心你没听说过type overload这个名词,因为它是我造出来的。其实是指在C#中,可以定义两个名字相同,只有模板参数不一样的类,像这样:class Gen{} class Gen{}这是完全通得过编译的合法程序。 虽然现在我还没有想到有什么具体的用处,但是先写在这里,说不定哪天就用上了。
阅读全文
摘要:通常情况下,选择文本的时候是按行进行的。也就是如果你从第一行当中开始选择直到第三行的中间,那么整个第二行都会被选中,但有时候你可能希望选中几行的相同几列。那么你可以试试按住Alt然后再用鼠标选择文本。嗯,really cool isn't it? 不止在vs.net的IDE里,在word里也可用以上这个tip我是从这里看来的,原文里说使用以上这个技巧 will elevate you to a...
阅读全文
摘要:要求是给出一个 int [] arr,求出这个数组中所有数的平均数。不加考虑的话,可以这样写:int Average(int[] arr){ int sum = 0; foreach(int i in arr) { sum += i; } return sum / arr.length;}然而,这样的解法是错误的,因为sum在...
阅读全文
摘要:Managed C++ is going to have a totally new syntax, and it is now called C++/CLI .i was informed of this from here. You may go and see qqchen's brief comparation of the old syntax and the new one. The ...
阅读全文
摘要:原帖:http://blog.joycode.com/qqchen/posts/19255.aspx谢谢qqchen一再耐心解释,然而我感觉我这个人有点冥顽不化.. 希望不要见怪。一些朋友认为我对.net泛型不满是因为没有特化,事实上并不是这样,我对于.net难以实现特化很理解,因为.net选择了泛型代码共享,虽然这导致特化的难以实现,但这并不是一个没有理由的选择。(当然我觉得C++的选择也没有...
阅读全文
摘要:在我上一帖里的box操作在VS2005里编译的IL里已经没有了。果然如Junfeng Zhang所说是一个bug吧?现在那段代码变成了:.method public hidebysig instance void foo() cil managed{ // Code size 18 (0x12) .maxstack 8 IL_0000: ldarg.0 IL_0001: ...
阅读全文
摘要:今天被人问到才发现的,以前一直都没注意到VS.NET生成的Main()是没有public修辞的...查了一下文档,发现对Main()的限制是,只要static就行了,发现自己学东西还真是不仔细。
阅读全文
摘要:看到muddle在他的blog里讲到对非公有成员的测试问题,突然想到,我曾经在csdn上也问过这个问题,当时思归回答我说,测试也要遵守oop的原则,我一下很有感触,对这个问题有了一个新的看法。我现在的想法就是私有成员是不应该测试的。首先,NUnit这样的工具应该用来对外部接口进行测试,尤其在测试驱动开发里,你写下test case的时候,实际上是迫使你站到了用户的立场上,写下一个test case...
阅读全文
摘要:似乎是一个很不错的工具啊:http://authors.aspalliance.com/aldotnet/examples/translate.aspx
阅读全文