2011-02-10 2 views
3

ли такого рода вещи возможных:Отправка файла в качестве аргумента метода?

public static void DoThis(file aFile){ 
    //Blah blah blah 
} 
+0

Да, вы можете использовать поток, байт [] или путь. Нужно больше информации. – Cyberdrew

+0

Вы имеете в виду имя файла, данные файла, ссылку на открытый поток файлов? –

+0

Почему вы не попробовали это? О. Конечно, вы можете. – DHN

ответ

5

Это зависит от того, что вам нужно сделать с ним :)

Варианты включают в себя:

  • путь (строка)
  • содержание (строка или байт [])
  • некоторые сложные модели объекта (отдельно по вашему выбору) содержимого
  • FileInfo
  • FileStream (или просто поток)
  • какой-либо читатель/писатель; TextReader, XmlWriter и т. Д.
+0

. Если это файл (из поля ввода HTML), вы также можете передать файл как 'HttpPostedFile' (его класс находится в System.Web.dll) – BornToCode

0

Абсолютно. Если у вас есть ссылка на файл в вызывающем методе, вы можете это сделать.

0

Да, вы можете это сделать. только не забудьте проверить нулям ....

public static void DoThis(file aFile) 
{ 
    if (aFile == null) { // report error or whatever } 
    //Blah blah blah 
} 
+0

А что такое «файл» здесь? –

+0

@Marc Gravell экземпляр класса типа «файл» –

+0

@ Muad'Dib: поскольку «файл» не является частью фреймворка, ваш ответ поражает меня как вопрос вопроса. – Brian

0

Что вы можете передать это дескриптор файла, то есть ссылка на объект файла или его Contant в двоичном или текстовом формате. Объект файла представляет обработчик для файла, а не для фактического файла.

+0

C# позволит вам передать дескриптор файла с помощью 'IntPtr' или' SafeFileHandle'. Однако это немного низкий уровень и в основном полезен только для взаимодействия. См. Http://stackoverflow.com/questions/3562513/how-to-open-a-file-when-file-handle-number-is-known для обсуждения. – Brian

Смежные вопросы