[英]What's the meaning of “this” keyword here?
一个非常短的C#函数。
public static int SizeInBytes(this byte[] a)
{
return sizeof (int) + a.Length*sizeof (byte);
}
“this”关键字在此函数中的含义是什么? 在C ++中,这个关键字的等价物是什么? 此外,这个功能试图准确计算什么?
它将该方法标记为扩展方法 。
扩展方法允许您扩展任何类的功能,即使它是密封的。
例:
public static class StringExtensions { public static bool IsEmpty(this string s) { return s == string.Empty; } }
请注意,正确的语法包括静态类中的静态方法以及this关键字的使用。
关于第二个问题,有一个在 C ++等效.....这是这一点 。 但是,C ++不支持扩展方法,所以你永远不会像在你提供的代码片段中那样在C ++中看到它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.