C#
Forms

System.Windows.Forms.Clipboard.SetText("") は、死ぬ

まあタイトルの通り。

System.Windows.Forms.Clipboard.SetText メソッドに、空文字列を渡すと例外になる。

なぜなのかは全然わからないけど、System.ArgumentNullException が発生する。

渡しているのは "" であって null ではないのに、なぜか System.ArgumentNullException になる。

対策は

  • 空文字列を SetText しないようにする
  • System.Windows.Clipboard.SetText() を代わりに使う

ぐらい。
バグっぽいけどどうなんだろう。

追記:
コメントに書いていただいているとおり、 MSDN に明記されているので仕様らしい。しかし不適切な仕様だと思う。