, Что база данных на самом деле делает для обнаружения то, что соответствует избранному оператору?
DBS использует индексы (см. ниже)
, Как база данных интерпретирует соединение по-другому к запросу с несколькими "где key1 = key2" операторы? Операции соединения могут быть переведены в операции двоичного дерева путем слияния деревьев.
, Как база данных хранит всю свою память?
файлы с отображенной памятью для более быстрого доступа их данных
, Как индексы сохранены?
Внутренне DBS работают с [1 117] B-деревья для индексации.
Это должно быть объяснено в больших деталях о Википедии..
Нашел именно то, что искал, вот оно:
using System.Reflection;
using System.IO;
try
{
Assembly a = null;
a = Assembly.LoadFrom(Application.StartupPath startupPath + "MyAssembly.dll");
Type classType = a.GetType("MyNamespace.MyClass");
object obj = Activator.CreateInstance(classType);
MethodInfo mi = classType.GetMethod("MyMethod");
mi.Invoke(obj, null);
}
catch (Exception e)
{
AddLog(e.Message);
}
Лучшим вариантом было бы использование инфраструктуры для создания расширяемых приложений:
Если вы хотите сделать это вручную, вы можете использовать методы Assembly.Load * () для загрузки сборки во время выполнения. Вы можете искать в сборке типы, реализующие определенный интерфейс, а затем создавать экземпляры с помощью Activator.CreateInstance . Сборки могут быть скомпилированы отдельно, вам просто нужно ссылаться на сборку, которая содержит интерфейс, общий для приложения и плагина.
Для обфускации имеется пара из инструментов запутывания . .
Use the static Assembly.Load() / Assembly.LoadFile() / Assembly.LoadFrom() methods to dynamically load assemblies.
FYI, remember to use a tool like Red-Gate's .Net Reflector to inspect your DLL to make sure it is properly obfuscated. This free, visual tool lets you see the DLL as your users will see it so you'll know if your code is exposed
alt text http://img149.imageshack.us/img149/2025/screenshotfullscreen.gif
.Net comes with Dotfuscator Community Edition which can be used to obfuscate your code. No coding is required, see their user guide to learn your way around the GUI if you need help.