public static int Row( IWin32Window.Handle handler )
{
    return SendMessageLong( 
                              handler.ToInt32() , 
                              EM_GETLINECOUNT , 
                              0 , 0 );
}APP:    this.text = Row( TextBox1.Handle ).ToString();我觉得这样比较好

解决方案 »

  1.   

    这样比B方案好在:
      IWin32Window.Handle handler 比 Int型的参数更直观表明这个方法的功能,并且减少出错的情况A方案传TextBox的对象我觉得不太好,调用者可能不会很清楚你的意图,而且TextBox对象的其他属性是你用不着的
      

  2.   

    在C#中
    我会选第一种方法
    对ObjectTextBox.Handle.ToInt32()
    的获取封装在方法中
    更利于调用这个方法至于效率
    使用B方法,难道不用调用ObjectTextBox.Handle.ToInt32() 这个方法
    获得参数值吗?意见表述完毕~~~~
      

  3.   

    我觉得参数使用TextBox或是IWin32Window.Handle都还好但是如果使用Int是不太好的实现方案
      

  4.   

    还有就是:A  B 在类的构造上的效率区别
    把“类”封装在“库”里又用static 就是为了使用者的方便呀不用实例化了 是不是要牺牲什么呀?
    不用static 又会怎样呀?
    JIT 之类的东东 对 exe 和 dll 的态度 一样吗?  
      

  5.   

    实际上你的类里面没有很多的数据那么从效率上来说,实不实例化差别不大"JIT 之类的东东 对 exe 和 dll 的态度 一样吗?"对.Net来说,是。都是Assembly,Exe的区别仅仅在与多一个static 的main方法入口
      

  6.   

    使用static不是不用实例化
    而是,这个static方法共用同一个内存空间要说牺牲的话,应该是
    从程序开始,到程序结束
    你的static方法都会占用那一段内存空间不用static的话,就需要每次创建一个新的对象实例
    然后才能执行你的方法最后一个,不太清楚
    个人感觉,是一样的
      

  7.   

    "对.Net来说,是。都是Assembly,Exe的区别仅仅在与多一个static 的main方法入口"这我也知道 问题是MS有时候出”阴招“呀
     Lippman什么时候写本<<C#对象模型>>呀?
      

  8.   

    问题是 static 一个类库几千个方法  (我做的类库 文件形式是就1个dll,也是为了方便)就是几千个static 几千个static方法都会占用那一段内存空间天呐!
      

  9.   

    这不是问题任何Assmbly被装载之后,静态方法会首先被编译;但是类的实例方法也会被编译,方法和数据存放的内存地址是不一样的,静态方法不会比实例方法更占用内存空间。
      

  10.   

    你这算好的你可以去把.Net类库反编译后看看,对你的设计能力会有很大帮助的
      

  11.   

    to timmy:
    "你可以去把.Net类库反编译后看看"
    拿什么反编译好?
      

  12.   

    to stingsg(猪头) 去Google搜索Anakrino