hi
Этот код работает нормально, и мой конфигурационный файл изменяется правильно.Запись в файле конфигурации Задача
//Local Variable Declaration
System.Configuration.Configuration oConfig =
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(
Request.ApplicationPath);
if (oConfig .AppSettings.Settings["CompanyName"] == null)
{
oConfig AppSettings.Settings.Add("CompanyName", "MyCompanyName");
oConfig .Save();
}
, но когда я хочу, чтобы использовать свойство для этой цели Ничего в Config случилось файл.
// Декларация собственности
private System.Configuration.Configuration _oRootConfig;
public System.Configuration.Configuration oRootConfig
{
get
{
return
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(
Request.ApplicationPath);
}
set { _oRootConfig = value; }
}
if (oRootConfig.AppSettings.Settings["CompanyName"] == null)
{
oRootConfig.AppSettings.Settings.Add("CompanyName", "MyCompanyName");
oRootConfig.Save(System.Configuration.ConfigurationSaveMode.Modified, true);
}
теперь у меня есть два вопроса:
1-почему этот код оленья кожа работа, и там ошибки нет.
2-Если я хочу программировать в объектно-ориентированном образом, что я могу сделать, чтобы исправить это свойство , если проблема связана с этим свойством. благодаря
Да, я пропустил это ... хороший момент. –
hi man you re great, ваше решение отлично работает, не могли бы вы объяснить больше, это шаблон, которого я точно не видел? Спасибо – siamak
Проблема в том, что вы не понимаете, что такое свойство на самом деле. Это просто синтаксический сахар, тонкость языка. Все, что происходит при компиляции свойства, - это то, что getter превращается в функцию get, а сеттер превращается в функцию set (я думаю). Сделайте некоторые googling, но просто не забывайте относиться к функциям getter и setter, потому что их код будет запускаться каждый раз, когда они будут вызваны. –
MStodd