Загрузить.DLL файл и методы доступа от класса в?

Существует несколько утилит ROT13, записанных в Python в 'Сети - просто Google для них. ROT13 кодируют строку офлайн, копируют ее в источник, декодируют в точке передачи.

, Но это действительно слабая защита...

26
задан Irshad 23 September 2015 в 05:03
поделиться

3 ответа

Используйте Assembly.GetTypes () , чтобы получить коллекцию всех типов, или Assembly.GetType (name) , чтобы получить конкретный тип.

Затем вы можете создать экземпляр типа с конструктором без параметров, используя Activator.CreateInstance (type) , или получить конструкторы, используя Type.GetConstructors , и вызвать их для создания экземпляров.

Точно так же вы можете получить методы с помощью Type.GetMethods () и т. Д.

По сути, когда у вас есть тип, вы можете делать множество вещей - посмотрите на член list для получения дополнительной информации. Если вы застряли, пытаясь выполнить конкретную задачу (универсальные варианты могут быть сложными), просто задайте конкретный вопрос, и я уверен, что мы сможем помочь.

33
ответ дан 28 November 2019 в 07:10
поделиться

Вот как вы можете получить классы, если знаете тип.

Assembly assembly = Assembly.LoadFrom("C:\\dll\\test.dll");

// Load the object
string fullTypeName = "MyNamespace.YourType";

YourType myType = assembly.CreateInstance(fullTypeName);

Полное имя типа важно. Поскольку вы не добавляете .dll, вы не можете использовать Using, потому что его нет в вашем проекте.

Если вам нужно все, я просто отвечу Джона Скита.

12
ответ дан 28 November 2019 в 07:10
поделиться

Если вы хотите динамически загрузить сборку, а затем вызвать в ней методы из классов, вам нужно выполнить какую-то форму динамического вызова.

Посмотрите здесь , чтобы получить базовый совет по этому поводу.

Единственный недостающий бит - как чтобы получить сам тип, который можно легко получить с помощью кода следующим образом:

foreach (Type t in assemblyToScan.GetTypes())
        {
            if(condition)
                //do stuff
        }

И если вы просто хотите использовать сборку статически (имея сборку, доступную во время компиляции), то ответ Лонси здесь, на этой странице, будет путь, которым нужно идти.

3
ответ дан 28 November 2019 в 07:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: