A MemoryStream
không được liên kết với tệp và không có khái niệm về tên tệp. Về cơ bản, bạn không thể làm điều đó.
Bạn chắc chắn không thể truyền giữa chúng; bạn chỉ có thể ném lên trên xuống dưới - không nghiêng sang một bên; để hình dung:
Stream
|
---------------
| |
FileStream MemoryStream
Bạn có thể cast một MemoryStream
đến một Stream
trivially, và một Stream
đến một MemoryStream
qua một loại kiểm tra; nhưng không bao giờ là FileStream
đến MemoryStream
. Điều đó giống như nói một con chó là một con vật, và một con voi là một con vật, vì vậy chúng ta có thể đúc một con chó cho một con voi.
Bạn thể lớp con MemoryStream
và thêm một tài sản Name
(mà bạn cung cấp giá trị cho), nhưng vẫn sẽ không có tương đồng giữa một FileStream
và YourCustomMemoryStream
, và FileStream
không thực hiện một giao diện từ trước đến nhận được Name
; do đó người gọi sẽ phải rõ ràng xử lý cả hai cách riêng biệt hoặc sử dụng kiểu gõ vịt (có thể thông qua dynamic
hoặc phản chiếu).
Tùy chọn khác (có lẽ dễ dàng hơn) có thể là: ghi dữ liệu của bạn vào tệp tạm thời; sử dụng một số FileStream
từ đó; sau đó (sau) xóa tệp.
Nguồn
2011-11-28 14:56:02
Cách tiếp cận này sai. Bạn đang cố gắng đạt được điều gì? – Snowbear
Không rõ bạn muốn làm gì. Một 'MemoryStream' chắc chắn không thể được đưa vào một' FileStream', và trong khi bạn có thể truyền tới 'Stream', lớp đó không có thuộc tính' .Name'. Bạn đang cố gắng làm gì? Bạn theo tên nào? –