RAMALINGAM.K Ответов: 2

Невозможно объявить переменную статического типа "System.IO.File" в c# .net file upload


здравствуйте, пожалуйста, помогите мне..... я использую код



Описание.FileSystemObjectClass f = новый сценарий.Класс FileSystemObjectClass();
Описание.ДПД Папку ;
Системы.ИО.Файл FL = по умолчанию(системы.ИО.Файл);
Превосходить.Приложение xlapp = новый Excel.Приложение();
Превосходить.Рабочий лист xlsheet = новый Excel.Рабочий лист();

но я получил ошибку " не могу объявить переменную статического типа 'System.IO.File'"
пожалуйста, помогите мне

2 Ответов

Рейтинг:
1

1138000

Ну, это в значительной степени описывает природу ошибки очень аккуратным и явным образом: вы не можете объявить переменную, чтобы содержать ссылку на экземпляр статического класса, потому что статические классы не могут быть созданы, во-первых.

Я думаю, что то, что вы ищете, это FileStream класс, вы можете получить экземпляр этого класса несколькими способами; вызывая File.Open() с соответствующими аргументами - один из них.


Рейтинг:
0

Sergey Alexandrovich Kryukov

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

Если вы пытаетесь сосать линию, как System.IO.File fl = default(System.IO.File);- по-видимому , так оно и есть без понятия что такое класс, не имеет значения статический или нестатический. Здесь не поможет ничего, кроме систематического изучения программирования вообще и ООП в частности. Попробуйте добраться до базового языка и руководства .NET и прочитать его с самого начала делайте упражнения по ходу движения, пока проблема не зайдет слишком далеко. Другого пути нет.

Просто намек: вам никогда не понадобится ваша помощь. fl, которая даже не может существовать. Вместо этого вы всегда должны использовать System.IO.File.*, где '*- это любой метод или свойство этого класса. Но вы не должны делать этого без понимания того, что вы делаете; и вам, по-видимому, не хватает этого понимания, поэтому... смотрите выше.

А пока просто взгляните на мое прошлое решение, подробно объясняющее этот вопрос:
Что делает статические методы доступными?[^].

Это может, по крайней мере, дать вам представление о том, что происходит. Но вы можете понять это, а можете и не понять. Чем снова... см. выше.

Удачи,

—СА


LosBear

Немного грубо, тебе не кажется?
Он публикует свой вопрос, потому что ему нужна помощь, а не чтобы его ругали. Тем не менее, вы несколько объясняете адрес вопроса, так что я обязан дать вам большой палец вверх =)

Sergey Alexandrovich Kryukov

Спасибо.
Сурово? может быть. Ты говоришь так, как будто это что-то плохое. :-)
Знаешь, я думаю, что это лучшая помощь, которую я мог придумать. Ведь что важнее: сказать правду или угодить кому-то? Если и то и другое можно сделать, прекрасно, но что делать, если правда не очень приятна. В какой-то ситуации я чувствую, что если я не скажу этого, то никто не скажет...
--СА

Member 10261821

каким высокомерным может быть ответ...

Sergey Alexandrovich Kryukov

В некоторых случаях важно говорить именно так. Позвольте спросить: вы предпочитаете ложь? :-)
—СА

Member 9962156

Я знаю, откуда вы пришли, но, честно говоря, вы собираетесь отвратить людей от задавания вопросов и обучения - не только людей, которым вы отвечаете таким образом, но и всех людей, которые приходят сюда за ответом, видят такие вещи и говорят: "Я ухожу".

Никогда не забывай, откуда ты пришел - ты не вышел из своей матери, пишущей код. Независимо от того, учились ли вы сами или кто - то научил вас-я готов поспорить на свою жизнь, что вы задали кому-то вопрос о чем-то, чего вы не поняли. А теперь представьте себе, что они заставили вас почувствовать себя глупо за то, что вы спросили, и не более того. может быть, вы не знали бы всех невероятных вещей, которые вы знаете сегодня.

Member 14088727

Нет, ты просто груб.

Brandon Fitzgibbon

Самое полезное, что вы могли бы сделать, - это указать ему на FileStream или FileInfo, если ему нужны статические объекты, которые могут содержать данные, связанные с файлами. Если он программирует для Excel, он, вероятно, просто смешивает что-то очень быстро для работы. Не каждый должен быть программистом AAA сверху вниз, чтобы создать полезную утилиту.

Sergey Alexandrovich Kryukov

Неправда. Понимание основ — это первичная вещь, некоторые частные классы- вторичные. Некоторая "помощь" похожа на мочеиспускание в штаны на морозном воздухе: сначала он чувствует себя теплее. Извините за грубую шутку. Если человек не понимает основ, особенно таких простых, FileStream не поможет. И даже если это поможет сейчас, то хорошо только до следующего статического класса или чего-то подобного и столь же тривиального. Вы хотите, чтобы наши исследователи оставались исследователями навсегда?
"Очень полезно"? Хм... Я в этом сомневаюсь.

Смотреть также: Дайте человеку рыбу…- Вы понимаете, в чем дело?

—СА