2017-01-12 4 views
4

После действия, описанные в this SO post, я успешно добавлен файл ресурсов и может запросить ресурсы я включил, но я должен вручную использовать ResourceManager класс, чтобы получить вложенные ресурсы - какСильные-Называть ресурсы в F #

let someText = ResourceManager("strings", System.Reflection.Assembly.GetCallingAssembly()).GetObject("SomeText") 

В VB.NET и C# эти ресурсы сильно названы. Так что, если у меня есть файл ресурсов под названием «SomeText.txt», я могу назвать это в коде с

var someText = MyDefaultNamespace.Properties.Resources.SomeText; 

Есть ли способ, чтобы сделать # ресурсы F сильно названные, как они находятся в C# и VB.NET, в F #? Может быть, текстовый шаблон t4?

+1

В проекте C# (или VB) щелкните правой кнопкой мыши этот 'SomeText' и выберите« Перейти к определению ». Посмотрите, как это делается? –

+0

+1. Это приводит меня к файлу Resources.Designer.cs (у кого есть свойства: Custom Tool 'ResXFileCodeGenerator'), и, похоже, все ресурсы включены в их собственные статические свойства с помощью access accessers. В F # у моего Resource.resx нет файла Designer.fs, а в файле Resources.resx нет опции «Пользовательский инструмент». Идеи? – TaterJuice

+0

Идея: напишите файл 'Resources.designer.fs' вручную. –

ответ

1

Хотя это, безусловно, обходной путь, можно переместить ресурсы в проект C# или VB.NET и изменить модификаторы доступа для сгенерированных типов ресурсов для публики, чтобы вы могли получить к ним доступ из F # как described here.

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