私は.NETの開発者であり、最近ruby_koansでRubyを学び始めました。 Rubyのシンタックスのいくつかはすばらしく、そのうちの1つが「サンドイッチ」コードを処理する方法です。Rubyのサンドイッチブロックコードに相当するC#式。
以下は、ルビーサンドイッチコードです。
def file_sandwich(file_name)
file = open(file_name)
yield(file)
ensure
file.close if file
end
def count_lines2(file_name)
file_sandwich(file_name) do |file|
count = 0
while line = file.gets
count += 1
end
count
end
end
def test_counting_lines2
assert_equal 4, count_lines2("example_file.txt")
end
は私が面倒「ファイルのオープンとクローズコード」私は、ファイルへのアクセスが、任意のC#の同等のコードを考えることはできませんたびに取り除くことができることを魅了しています。たぶん、IoCの動的プロキシを使って同じことをすることはできますが、C#で純粋に行うことができる方法はありますか?
事前に感謝します。
多くのありがとう。私はサンドイッチのコードを処理するC#の方法を探していましたが、これはそれです。 – Andy