public void Remove()
{
if (!Section.Settings.Remove(this))
return;
IniFileSetting first = Section.SettingsByName[Name];
var next = NextSettingWithSameName;
NextSettingWithSameName = null;
if (first == this) {
if (next != null)
Section.SettingsByName[Name] = next;
else
Section.SettingsByName.Remove(Name);
} else
for (; ; first = first.NextSettingWithSameName)
if (first.NextSettingWithSameName == this) {
first.NextSettingWithSameName = next;
break;
}
}