ModulePropertiesPage.ApplyChanges メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ユーザーが [適用] ボタンをModuleDialogPageクリックしたときに、オブジェクトを更新します。
protected:
override bool ApplyChanges();
protected override bool ApplyChanges ();
override this.ApplyChanges : unit -> bool
Protected Overrides Function ApplyChanges () As Boolean
戻り値
更新が正常に実行された場合は true
、それ以外の場合は false
。
例
次の例では、ユーザー メソッド UpdateCustomSettings
を呼び出して、プロパティ設定の変更を保存します。
internal class CustomModuleServiceProxy : ModuleServiceProxy {
public PropertyBag GetCustomSettings() {
return (PropertyBag)Invoke("GetCustomSettingsMSM");
}
public void UpdateCustomSettings(PropertyBag updatedSettings) {
Invoke("UpdateCustomSettingsMSM", updatedSettings);
}
}
[ModuleServiceMethod]
public void UpdateCustomSettingsMSM(
PropertyBag updatedSettings) {
if (updatedSettings == null) {
throw new ArgumentNullException("updatedSettings");
}
foreach (int key in updatedSettings.ModifiedKeys) {
SetAttrVal_IF(key, updatedSettings, SH.boolProp);
SetAttrVal_IF(key, updatedSettings, SH.intProp);
SetAttrVal_IF(key, updatedSettings, SH.strProp);
SetAttrVal_IF(key, updatedSettings, SH.strProp2);
SetAttrVal_IF(key, updatedSettings, SH.TSprop);
}
// save the configuration file.
ManagementUnit.Update();
}
protected override PropertyBag
UpdateProperties(
out bool updateSuccessful
) {
TrcAll();
updateSuccessful = false;
try {
ServiceProxy.UpdateCustomSettings(_clone);
_bag = _clone;
updateSuccessful = true;
} catch (Exception ex) {
OnException(ex);
}
return _bag;
}
void SetAttrVal_IF(int key,
PropertyBag updatedSettings,
SH.PropInt pi) {
if (key == pi.Indx)
SetAttrVal(pi, updatedSettings);
}