次の方法で共有


ModulePropertiesPage.ApplyChanges メソッド

定義

ユーザーが [適用] ボタンを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);
} 

適用対象