Как загрузить хранимые данные в DLL динамически - PullRequest
0 голосов
/ 27 декабря 2018

C #: Привет, я делаю движок в качестве дополнения для симулятора полета. Моему двигателю нужны некоторые данные для своей работы, и те данные, от которых я хочу хранить их подальше.люди, текстовые редакторы, так что я хочу просто сделать DLL в моих классах DLL с некоторыми данными, такими как целые списки строк .... и много данных, теперь я хочу, чтобы мой инженер загружал эти данные динамически, это означает, что я не буду включать теDLL перед компиляцией. Я хочу, чтобы мой движок загружал много DLL с помощью Foreach.я взглянул на загрузку сборки и system.reflection, но не могу заставить мой код работать и загрузить переменные и методы

примечание: все библиотеки DLL, которые я хочу загрузить, имеют одинаковые имена переменных и имена методов, носохраненные данные различны, надеюсь, вы поможете мне с этим заранее: D

1 Ответ

0 голосов
/ 28 декабря 2018

Это всего лишь быстрое подтверждение концепции, дайте мне знать, если вам нужно больше, чтобы начать работу.Для нашего производственного использования у каждой библиотеки был общий интерфейс для классов, которые мы хотели использовать.

Моя библиотека

namespace Library
{
  public class MyVariables
    {
        public string TestProp { get => "Result"; }
    }
}

Телефонный код

 Assembly assembly = Assembly.LoadFrom("Path");
 var results = assembly.GetTypes();
 Type type = assembly.GetType("Library.MyVariables");
 dynamic instanceOfMyType = Activator.CreateInstance(type);
 Console.Write(instanceOfMyType.TestProp);
...