.NET Framework 1.1を使用しています。以前は.netフレームワークでは、Close()
をFileStream
に、しかし、.netコア1.1のFileStream
クラスにはCloseメソッドがありません。Dispose()
が見つかりましたが、同等かどうかわかりません。誰でも気をつけて、.netコアの新しいFileStream/StreamWriter
クラスを正しく閉じる正しい方法を教えてください。.NET Core 1.1のFileStream/StreamWriterにはClose()メソッドがありません。
6
A
答えて
5
IDisposable
を実装すると、暗黙的にDispose()
メソッドを呼び出してストリームを閉じるusing
ステートメントを使用できることを意味します。
使用
using (StreamWriter sw = new StreamWriter(path))
{
// your logic here
} // here Dispose() is called implicitly and the stream is closed
0
使用usingまたはDispose Patternあなた自身を構築します。
using (StreamWriter sw = new StreamWriter(path)
{
}
0
この問題では、レガシーコードをそのまま維持しようとすると、別の方法として、拡張メソッドを記述することがあります。
public static class FileStreamExtension
{
public static void Close(this FileStream reader)
{
reader.Dispose();
}
}
関連する問題
- 1. .NET Core 1.0アプリケーションは.NET Core 1.1システム上で動作しません
- 2. Aspnet Core 1.1公開時のWindows認証がありません
- 3. マルチボタンフォームは、データをテキストボックスにマップしません.net core 1.1
- 4. .NET Core 1.1のセッション
- 5. .net Core 1.1 WebアプリケーションとIdentity Framework "復元できません...と互換性がありません..."
- 6. ASP.NET Core HttpRequestクラスにはBinaryReadメソッドがありません
- 7. .NET Core 1.1リソースファイルの問題
- 8. web apiコントローラのメソッドを呼び出すときのエラー - .Net Core 1.1/EF 1.1
- 9. .Net Core MVCデプロイメント(パブリッシュ)ビューがありません
- 10. Asp .net core 1.1 Webアプリケーションazureにリソースを公開できません
- 11. .NET Core 1.1ですが、インストーラはSDK 1.0.3と言いますか?
- 12. Xml C#.NET Core 1.1のデジタル署名
- 13. のAppSettings。*にコピーされません。JSONファイルは、ASP.NET 1.1 CORE
- 14. .NET-COREのインストール後にMoqが見つかりません
- 15. ASP.NET Core 2:ApplicationInsightsがありません
- 16. ロギング設定を取得できませんでした - IIS web.config .Net Core 1.1
- 17. .NET Core 1.1 - Duplicate 'Content'アイテムが含まれていました
- 18. OData v4 on .Net Core 1.1 missing/$ metadata
- 19. .NET Core 1.1 RabbitMQメッセージを受信
- 20. IronRubyの "to_yaml"メソッドがありません
- 21. Visual Studio 2017新規プロジェクトがありません.netコアフレームワークがありません
- 22. ASP.NETコアWebアプリケーション(.NET Core)が見つからないテンプレートがありません
- 23. .NetコアアプリケーションにNativeCallableAttributeがありません
- 24. .NET Framework 3.5クライアントプロファイル - メソッドがありません。System.Windows.Threading.Dispatcher.BeginInvoke(System.Delegate、System.Object [])
- 25. vs2017 .Net Core Projectのweb.configが見つかりません
- 26. .NET Core HttpClientにはインターセプタの概念がありますか?
- 27. Servicestackにはdotnet coreのProxyFeatureがありませんか?
- 28. .NET Core Web Appは例外的に中断しません。例外の詳細はありません。
- 29. DNX Core 5.0エラーCS1061: 'SqlDataReader'に 'Close'の定義が含まれていません
- 30. MailKitは送信されたメールを表示しますが、受信しませんでした - .NET Core 1.1
彼らは.NETCoreを使用して、うまく設計されていないフルフレームワークの設計上の決定を修正しました。 Streamクラスの場合とまったく同じことを行う2つのメソッドDisposeとCloseがあります。紙の上でのサウンドデザインは、どちらが「より良い」ものかを決めることができない多くのプログラマにとって困惑しています。 –
Hansが述べたように、代わりに安全に 'Dispose'を使うことができます。ディスカッションを終了するには、以下の回答を受け入れてください。マイクロソフト社は、今後.NET標準2.0に「Close」を追加した。これは.NET Core 1.2の一部でなければならない。 –