当前位置:  开发笔记 > 编程语言 > 正文

你喜欢用什么成语(如果有的话)将"this"参数命名为C#中的扩展方法,为什么?

如何解决《你喜欢用什么成语(如果有的话)将"this"参数命名为C#中的扩展方法,为什么?》经验,为你挑选了1个好方法。

C#扩展方法的第一个参数是调用扩展方法的实例.我已经采用了一种成语,而不是在其他地方看到它,称这个变量为"自我".如果其他人也在使用它,我也不会感到惊讶.这是一个例子:

public static void Print(this string self)
{
   if(self != null) Console.WriteLine(self);
}

但是,我开始看到其他人将该参数命名为"@this",如下所示:

public static void Print(this string @this)
{
   if(@this != null) Console.WriteLine(@this);
}

作为第三种选择,有些人根本不喜欢成语,说"自我"和"@this"不提供任何信息.我想我们都同意,有时候参数的名称是明确的,有意义的,特定于其目的,这比"自我"或"@this"更好.有些人进一步说,你总能拿出一个更有价值的名字.所以这是另一个有效的观点.

你看过其他什么成语?你喜欢什么成语,为什么?



1> Jon Skeet..:

根据用途,我相当正常地命名.因此,LINQ运算符的源序列的"源",或者参数/参数检查的扩展的"参数"/"参数"等.

我不认为它必须与"this"或"self"特别相关 - 它不会提供有关参数含义的任何额外信息.当然这是最重要的事情.

编辑:即使在没有很多明显意义的情况下,我也不喜欢一些意义.什么信息由"自我"或"@this"赋予?仅仅是它是扩展方法中的第一个参数 - 并且该参数被装饰的信息已经很明显.在给出/ 选项的示例情况下,我会使用- 它会传达您需要了解的有关参数IMO的所有信息.thistheStringToPrintselfoutputText

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有