ついでに .NET Framework に噛まれた話もしておこう

(実は先週末の話なんだが)

ExceptionCondition
ArgumentNullExceptiontext is null or Empty.

なんで Clipboard.SetText("")Clipboard.SetText(null) と同じ扱いで例外を投げるんだよ... STA (Single Thread Apartment) 問題の関係で null が渡ってるのかと誤認して試行錯誤の挙げ句,1時間近く無駄にしてしまったのだった.結局こうした:

if (String.IsNullOrEmpty(str))
    Clipboard.Clear();
else
    Clipboard.SetText(str);

もしかしてCOMのマーシャリングとか深い問題が裏に潜んでたりするのか? いや全然知らないんだけどさ.