私はこれをやろうとしています:
Data4JS D4JS = (Data4JS)GlobalHelper.GetCurrentSession()["Data4JS"];
GlobalHelper.GetCurrentSession()["Data4JS"] = null;
return D4JS;
問題は、D4JS も null に設定することです。コードをいくつかのメソッド呼び出しに分割したくないのですが、他にどうすれば簡単に達成できますか?
私はこれをやろうとしています:
Data4JS D4JS = (Data4JS)GlobalHelper.GetCurrentSession()["Data4JS"];
GlobalHelper.GetCurrentSession()["Data4JS"] = null;
return D4JS;
問題は、D4JS も null に設定することです。コードをいくつかのメソッド呼び出しに分割したくないのですが、他にどうすれば簡単に達成できますか?
new キーワードを使用するだけで、参照やクローン オブジェクト メソッドを使用する必要がなくなります。
オブジェクトが十分に単純で、パブリック プロパティがあり、必要なのはプロパティの値だけであると仮定すると、次のようなことができます。
Data4JS D4JS = (Data4JS)GlobalHelper.GetCurrentSession()["Data4JS"];
Data4JS result = new Data4JS
{
//Set your result object to the one in
//session by manually copying over the property values
Property1 = D4JS.Property1;
};
GlobalHelper.GetCurrentSession()["Data4JS"] = null;
return result;
それ以外の場合は、必要なものを達成するためのよりクリーンな方法として Freeman が提案したものを使用してください。
その場合、シリアル化を使用してディープ コピーを実行します。