Файл не содержит определения для «regData»
По этому вопросу, как сказал @Crowcoder, то Microsoft.OneDrive.Sdk.File
класс не имеет статическое свойство regData
. Вы не можете получить файл на этом пути.
Очень верно, поскольку я сначала определил файл переменной следующим образом: var file = await builder.Content.Request(). GetAsync(); и я думаю, что я действительно не получаю, это его свойство «Имя», которое я попробовал, но все равно получаю сообщение об ошибке.
Похоже, вы нашли образец - Рисунок 2 Загрузка содержимого текстового файла из this article. Я тестировал образец, и он может хорошо работать на моей стороне, и свойство имени можно получить. Код, я использую для тестирования следующим образом:
IItemRequestBuilder builder = app.OneDriveClient
.Drive
.Root
.ItemWithPath("regfolder/regdata.txt");
Item file = await builder
.Request()
.GetAsync();
Stream contentStream = await builder.Content
.Request()
.GetAsync();
Debug.WriteLine($"Content for file {file.Name}:");
using (var reader = new StreamReader(contentStream))
{
Debug.WriteLine(reader.ReadToEnd());
}
И результат:
Для вашего вопроса, чтобы получить имя свойства файла, то вам необходимо проверить следующее:
- Возможно, папка содержит файл txt;
- Файл txt, который вы получили, должен быть объектом
Item
, а не объектом File
, File
класс внутри одного драйвера sdk не содержит свойства имени, у Item
;
- Убедитесь, что вы действительно можете получить файл по пути правильно. Вы можете использовать приведенный выше фрагмент кода для проверки значения
Item file=...
.
Поскольку вы не даете весь свой фрагмент кода, а только var file = await builder.Content.Request().GetAsync();
. Я не уверен, что у вас здесь builder
, но похоже, что вы получаете Content
, не пытаясь получить Item
. Обычно это объект Stream
не должен содержать свойства имени. Если этот строитель такой же, как у меня, здесь находится объект IItemRequestBuilder
, вы должны получить файл-объект по коду await builder.Request().GetAsync();
. Попробуйте приведенный выше фрагмент кода, заменив путь к вашему файлу для тестирования.
Во втором случае «файл» (нижний регистр f) является переменной, ссылающейся на файл, и обладает свойством «Имя». В первом случае «Файл» (верхний регистр F) является классом и не имеет статического свойства «regData». – Crowcoder
Очень верно, поскольку я сначала определил файл переменной следующим образом: var file = await builder.Content.Request(). GetAsync(); и я думаю, что я действительно не получаю, это его свойство «Имя», которое я попробовал, но все равно получаю сообщение об ошибке. – JNW