Я унаследовал большой проект, написанный на смеси C # и VB.Net
В проекте много отдельных сборок.
Существуют сотни (или тысячи) ресурсов (файлы png), которые были вставлены в проект с использованием функциональности VB My.Resources, к которой я хотел бы получить доступ из некоторого кода C # в другой сборке.
Microsoft имеет статью КБ об этом. Он включает в себя некоторый пример кода, но я не могу заставить его работать (и я не могу точно следовать коду).
// Gets a reference to the same assembly that
// contains the type that is creating the ResourceManager.
System.Reflection.Assembly myAssembly;
myAssembly = this.GetType().Assembly;
// Gets a reference to a different assembly.
System.Reflection.Assembly myOtherAssembly;
myOtherAssembly = System.Reflection.Assembly.Load("ResourceAssembly");
// Creates the ResourceManager.
System.Resources.ResourceManager myManager = new
System.Resources.ResourceManager("ResourceNamespace.myResources", myAssembly);
// Retrieves String and Image resources.
System.String myString;
System.Drawing.Image myImage;
myString = myManager.GetString("StringResource");
myImage = (System.Drawing.Image)myManager.GetObject("ImageResource");
Я не могу понять, почему код создает myAssembly и myOtherAssembly и, кажется, никогда не использует второй объект?
Выполняет ли действие загрузку второй сборки ...
myOtherAssembly = System.Reflection.Assembly.Load("ResourceAssembly");
... значит, мне не нужно ссылаться на него далее при создании ResourceManager ?
System.Resources.ResourceManager myManager = new
System.Resources.ResourceManager("ResourceNamespace.myResources", myAssembly);
Любая идея, как я могу получить доступ к этим ресурсам (с отражением или без него), будет принята с благодарностью!