C#语法我不懂,初学者
好的,对于C#来说还是很陌生的,如果这是显而易见的,那么很抱歉 有些代码我无法理解,这些代码是由比我更擅长C#的人编写的 我们有一个类,称之为“CC”,它有许多字段,其中一个是“FORM_NBR” 因此,简而言之:C#语法我不懂,初学者,c#,C#,好的,对于C#来说还是很陌生的,如果这是显而易见的,那么很抱歉 有些代码我无法理解,这些代码是由比我更擅长C#的人编写的 我们有一个类,称之为“CC”,它有许多字段,其中一个是“FORM_NBR” 因此,简而言之: public class CC { public CC(); //Many, many fields... ... public long FORM_NBR { get; set; } ... } 在某个时刻,一个对象被创建
public class CC
{
public CC();
//Many, many fields...
...
public long FORM_NBR { get; set; }
...
}
在某个时刻,一个对象被创建
CC c = new CC();
然后这条线被称为:
c.FORM_NBR = c.FORM_NBR.GetCheckDigit(' ');
现在,在我们继承的库的深处有一个函数:
public static short GetCheckDigit(this long nFormNbr, char chFormTypCd)
{
short nCkDgt = 0; // Default to 0
switch (chFormTypCd)
{
//Many, many cases...
...
default:
nCkDgt = CalculateCheckDigit(nFormNbr);
break;
}
return nCkDgt;
}
我的问题是。作为C#的新手,GetCheckDigit是如何从long调用的?这是什么语法
我甚至不知道我会如何描述/谷歌这个 这是一种
扩展方法
扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但它们被调用时就像它们是扩展类型上的实例方法一样。对于用C#、F#和Visual Basic编写的客户机代码,调用扩展方法和在类型中实际定义的方法之间没有明显的区别
发件人:
这篇文章中有一个很好的例子:
GetCheckDigit是long类型的扩展方法
GetCheckDigit基本上是long类型的扩展。您可以在第一个参数处看到它。“this long”表示此函数可以在long类型上运行。