C#";这个";关键字工作来限定静态方法中的参数
本文关键字:quot 静态方法 参数 工作 这个 关键字 | 更新日期: 2023-09-27 18:01:41
我在理解以下方法中的参数this flowDocument doc
时遇到问题:
public static FormattedText GetFormattedText(this FlowDocument doc)
{
if (doc == null)
{
throw new ArgumentNullException("doc");
}
...
}
调用方在调用上述方法时不指定参数:
myRichTextBox.TextChanged +=
new TextChangedEventHandler((o, e) => myRichTextBox.Width =
myRichTextBox.Document.GetFormattedText().WidthIncludingTrailingWhitespace + 20);
我确信该方法确实而不是创建doc
本身。我以前从未见过以这种方式使用this
。
GetFormattedText()
不是一个普通方法,而是一个扩展方法。
你可以这样称呼它:
document.GetFormattedText()
或者这个:
ClassName.GetFormattedText(document)
这是扩展方法的语法,参数是调用该方法的FlowDocument
对象:
myRichTextBox.Document.GetFormattedText().WidthIncludingTrailingWhitespace + 20);
^
|
-------------------|