2013年7月20日土曜日 C#のためのUsingモナド(もどき) 第一回の記事は、なんかモナドっぽいものを作ってみたという話です。 usingステートメントはクソだ 皆さんもご存じの通り、usingステートメントとは、C#においてIDisposableインターフェースを継承したクラス(要するに、Close()が必要なクラス)を扱うときに、 using(var stream = File.Open(“hogee”)) using(var reader = new StreamReader(stream)) … というように書くことで、スコープを抜けた時に確実に破棄されるようになるという機能です。 構文的にも綺麗で行数が減り、さらにClose()忘れを防ぐことができるのでまさに一石二鳥です。 しかし、usingステートメントにはある重大な欠点があります。 「値を返せないじゃないか!」 そう、