using System.Reflection;
try
{
Uri UriAssemblyFolder = new Uri(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase));
string appPath = UriAssemblyFolder.LocalPath;
//Open the configuration file and retrieve
//the connectionStrings section.
Configuration config = ConfigurationManager.
OpenExeConfiguration(appPath + @"\" + exeConfigName);
ConnectionStringsSection section =
config.GetSection("connectionStrings")
as ConnectionStringsSection;
}
По крайней мере, это метод, который я использую при шифровании и расшифровке раздела connectionStrings для моих консольных / графических приложений. exeConfigName
- имя исполняемого файла, включая файл .exe.
Как уже упоминалось, вы можете использовать Objective-C API среды выполнения для получения имен переменных экземпляра:
unsigned int varCount;
Ivar *vars = class_copyIvarList([MyClass class], &varCount);
for (int i = 0; i < varCount; i++) {
Ivar var = vars[i];
const char* name = ivar_getName(var);
const char* typeEncoding = ivar_getTypeEncoding(var);
// do what you wish with the name and type here
}
free(vars);
Рассмотрим gen_bridge_metadata
, который предназначен для совершенно другой цели, но может создавать файлы XML из файлов заголовков Objective-C.