以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 Dot NET,C#,ASP,VB 』 (http://bbs.xml.org.cn/list.asp?boardid=43) ---- C#地四个基本灵活技术 (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=58863) |
-- 作者:卷积内核 -- 发布时间:2/16/2008 5:13:00 PM -- C#地四个基本灵活技术 1.如果可能尽量使用接口来编程 private void LoadList (object [] items, ListBox l) { for (int i = 0; i < items.Length;i++) l.Items.Add (items[i].ToString ()); } { foreach (object o in items) l.Items.Add (o.ToString ()); } 因为属性已经成为语言本身的元素,所以声明数据元素时它的作用域等级没有必要大于private。因为代码本身会把属性看成数据元素,你并没有失去使用简单数据类型的便利性 。相反它会使你的代码更加灵活功能更加强大。属性使你的数据元素封装性更好。属性可以让你使用lazy evaluation来返回数据。lazy evaluation的意思是当用户请求时才计算它的值,而不是一直保留着它。 public int Month { get { return TheMonth; } set { TheMonth = value; } } { private OnGetLine theFunc = null; get { return theFunc; } set { theFunc = value; } } // Read input. // If there is any listeners, publish: string s; do { s = Console.ReadLine (); if (s.Length == 0) break; if (theFunc != null){ System.Delegate [] funcs =theFunc.GetInvocationList(); foreach (OnGetLine f in funcs) { try { f (s); } catch (Exception e) { Console.WriteLine ("Caught Exception: {0}", e.Message); } } } } while (true); }
4. 注意初始化顺序 |
-- 作者:netjian -- 发布时间:2/16/2008 11:56:00 PM -- 我也来说点经验,尽量分层——如果你的程序够大的话。 那样你可以建立一套固有的开发模板,以后再做的时候只要往模板里面套用就行了,函数、方法、模式、类……通通搞定。 |
-- 作者:水果柿子 -- 发布时间:4/19/2008 10:37:00 AM -- !
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
62.012ms |