
本站地址:http://www.bajiao123.com

[FxCop.设计规则]6. 避免使用输出参数
一个公共类型包含一个含有输出(out)参数的公共或保护型方法
使用引用类型参数,需要了解值类型和引用类型的差别,同时,使用这个方法将会有多个返回值。输出型参数(out)和引用型参数(ref)之间的区别并不被广泛了解。
当一个引用类型被当作引用型参数传递进一个方法,这个方法将使用这个参数返回一个不同的实例对象(将一个引用类型当作引用型参数传递,相当于使用一个双重指针、指向指针的指针或双重间接引用)。使用默认的调用方式(传值调用),方法已经收到一个对象的引用(指针),指针(而不是指向的对象实例)将被作为传值调用送入方法。意味着方法将不能修改这个指针指向一个新的对象实例,但是可以改变指针所指对象的内容。对于大多数应用,这种传值参数已经足够用了。
如果一个方法需要返回不同的对象实例,使用方法的返回值就可以了。类似System.String类,其中的很多方法都都返回一个新的字符串实例,这种模式的好处是,调用方法的人可以决定是否将原始对象丢弃掉。
当一个返回值被经常的使用并且开销很大时,正确的应用out和ref参数需要中级设计和编码能力。适合一般用户的库架构设计应该不期望用户掌握如何工作在out和ref参数。
如果只有一个输出类型的参数,并且是之类型,可以将这个参数作为这个方法的返回值。如果一个方法必须返回多个值,重新设计这个方法返回一个单个的实例代替这些值。
忽略这条规则是安全的。但是这条规则可能会影响可用性。
<< 上一页 [11] [12] [13] [14] [15] 下一页
本站地址:http://www.bajiao123.com

