- PR -

.NETでのCMemFile同等機能

1
投稿者投稿内容
大ベテラン
会議室デビュー日: 2006/06/28
投稿数: 116
投稿日時: 2007-11-18 22:15
VC6のコードをC#2005に移植しているのですが、
MFCのCMemFileクラスにあたるクラスを見つけられないでいます。

オンメモリでのファイル操作という、CMemFileと同等の機能を持つクラスは
.NETには無いでしょうか?

C#2005はExpressEditionを使用しています。
れい
ぬし
会議室デビュー日: 2005/11/01
投稿数: 346
投稿日時: 2007-11-18 22:56
引用:

暁さんの書き込み (2007-11-18 22:15) より:
VC6のコードをC#2005に移植しているのですが、
MFCのCMemFileクラスにあたるクラスを見つけられないでいます。



移植してるならわかると思いますが、
MFCと.Netは1対1対応してるわけでも、1対多対応してるわけでもありません。
ですので、正確に対応してるものはありません。

用途によってはMemoryStreamを使うのがよいかと思いますが。
用途によってはダメですね。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2007-11-18 23:01
引用:

オンメモリでのファイル操作という、CMemFileと同等の機能を持つクラスは
.NETには無いでしょうか?



System.IO.MemoryStream では駄目でしょうか。
大ベテラン
会議室デビュー日: 2006/06/28
投稿数: 116
投稿日時: 2007-11-18 23:39
れいさん、渋木宏明(ひどり)さん早々の回答をありがとうございました。
お二方が提示下さったSystem.IO.MemoryStreamは、私の使用目的にまさに合致していました。

MFCと.Netの対応については、同じ機能を探すのに四苦八苦しています。
.Netの機能が充実しているので、あるはずというスタンスで対応しています。
今回の件では、あきらめて一時ファイルを作成するかとも考えていました。
おかげさまで助かりました。
ありがとうございました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-11-19 07:34
MSDNライブラリに対応表があるよ
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-11-19 22:38
ごめん。MFC じゃなく、Win32 API だった。
Microsoft Win32 と Microsoft .NET Framework API との対応<microsoft.com>
(thanks to おぎさん<yahoo.co.jp>(リンク変わってるよ))
大ベテラン
会議室デビュー日: 2006/06/28
投稿数: 116
投稿日時: 2007-11-19 23:32
Jittaさんありがとうございます。
Win32の関数も結構使用していますので、すごく助かります。

例えば画面サイズの取得をGetSystemMetricsから行っていたのですが
今回の移植時、あれこれ探してようやく
System.Windows.Forms.Screenクラスに行き着きました。
ですが、今回教えていただいた対応表を見れば
System.Windows.Forms.SystemInformationを使用すればよいとすぐわかります。
実際、Screen.PrimaryScreen.Boundsで取得するように変更したものが、SystemInformation.PrimaryMonitorSizeで問題なく取得できました。

この対応表と、クラス名からの類推で行けそうです。
1

スキルアップ/キャリアアップ(JOB@IT)