Я работаю над приложением, которое взаимодействует с SharePoint 2010, и один из объектов SP (SPFolder.Subfolders[index]
, если вам интересно) требует строки для индексации возвращаемых элементов. Проблема в том, что мне нужно передать ему строковую переменную, но она принимает только литералы. Есть ли способ конвертировать переменную в литерал для этой цели? Если вопрос не является достаточно ясным, смотрите иллюстрацию ниже:C# - превращение строковой переменной в строковый литерал
SPFolder folder = rootFolder.SubFolders["Literal folder name"]; // This properly searches the collection (which has already been defined) and returns the folder with the name specified by the literal.
string newFolder = "Literal folder name"; // In this case I'm trying to pass this string as the index.
SPFolder folder = rootFolder.SubFolders[newFolder]; // This is where it throws a "Value does not fall within the expected range" exception when the string is referenced.
Если контекст помогает, приложение принимает массив имен папок и их создания на определенном уровне в библиотеке, а затем цикл через новый папки для создания сложной структуры папок внутри них. Для этого мне нужно создать папку, получить ее url, а затем создать остальные папки на основе этого URL-адреса. Извлечение вновь созданной папки - это то, где я столкнулся с трудностями, потому что индексирование родительской папки со строкой, которую я только что создавал, - это то, где она сходит с ума.
Вы можете сделать строку newFolder = @ "Новое имя папки"; ? – Sherlock
Просто дал ему шанс, не повезло:/ – thanby