为什么 DataObject.SetText(String) 不接受空字符串

本文关键字:不接受 字符串 String DataObject SetText 为什么 | 更新日期: 2023-09-27 18:32:51

这部分是咆哮,部分是真正的好奇心。 有谁知道为什么System.Windows.Forms.DataObject的SetText(String)方法不接受空字符串作为其参数? 它指出这将抛出一个 ArgumentNullException(即使它实际上不是空的)。

我可以理解它不接受空值,但它不允许空字符串似乎很不寻常。 我在这里缺少什么,还是这只是 API 设计者的一些任意决定?

为什么 DataObject.SetText(String) 不接受空字符串

消息来源说:

public virtual void SetText(string textData, TextDataFormat format)
{
    if (!string.IsNullOrEmpty(textData))
    {
        //
    }
    else
    {
        throw new ArgumentNullException("textData");
    }
}

但这不是你问题的答案,因为你问为什么会这样。浏览源代码时,我找不到答案,在快速扫描MSDN时也找不到答案。