私はサードパーティ製のdllを使用して、いくつかの関数呼び出しを行います。 この関数呼び出しが失敗することがあります。だから私はオブジェクトを再初期化し、再び関数呼び出しを行います。しかし、それでも失敗します。コードの実行を停止して再起動すると、関数呼び出しが正常に動作します。
私は、このサードパーティ製のdllで逆コンパイラを使用し、内部的にはdllのクラスでは、この例外の原因となる静的オブジェクトがあることに気付きました。プログラムを再起動すると、静的オブジェクトを再初期化してからコードが機能します。コードを使ってこれを強制することは可能でしょうか?基本的には、オブジェクトを作成するときにdll内部のクラス内の静的オブジェクトが再初期化されるようにしたいと思います。私は本番環境で.NETプログラムを再起動できません。私の.NETコードでエラーを引き起こすサードパーティのdllの静的なプライベートオブジェクト
2
A
答えて
5
使用すると、それを行うにはRefectionライブラリを使用することができます。
var prop = s.GetType().GetField("ThePrivateStaticObjectName",
System.Reflection.BindingFlags.NonPublic
| System.Reflection.BindingFlags.Instance);
prop.SetValue(s, "new value");
と一般的な方法を任意のオブジェクトのためにそれを行うには:
public static void SetPrivatePropertyValue<T>(T obj, string propertyName, object newValue)
{
// add a check here that the object obj and propertyName string are not null
foreach (FieldInfo fi in obj.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic))
{
if (fi.Name.ToLower().Contains(propertyName.ToLower()))
{
fi.SetValue(obj, newValue);
break;
}
}
}
は私が参考に:)
+0
はい、反射は働いていましたが、私は簡単に内部的に内部的に定義されたいくつかのメンバーがありました。私はReflectionを利用することができました..ご回答いただきありがとうございました.. –
+0
あなたの歓迎:) –
関連する問題
- 1. Box2Dアサーションを引き起こす静的/動的ボディ間のコレーション
- 2. このコードはゴーストスクリプトで-100エラーを引き起こします
- 3. なぜ私の再帰的コードはスタックオーバーフローエラーを引き起こしますか?
- 4. なぜ私のコードはセグメンテーションフォルトを引き起こしますか?
- 5. read_html()がRセッションで致命的なエラーを引き起こす
- 6. はデバッグの目的でエラーを引き起こしますか?
- 7. バージョンコントロール.NETプロジェクトのサードパーティ製DLLの場所
- 8. なぜこのコードはExpected ")"エラーを引き起こしますか?
- 9. 私のXSLTフラグメントがエラーを引き起こすのはなぜですか?
- 10. 私のコードがエラーを起こすのはなぜですか?
- 11. なぜこのコードはセグメンテーションフォルトを引き起こしますか?
- 12. なぜこのコードはメモリリークを引き起こしますか?
- 13. なぜこのコードはリークを引き起こしますか?
- 14. C#の静的XMLシリアライザはメモリの増加を引き起こしますか?
- 15. なぜこの単純なコードがEXC_BAD_ACCESSを引き起こすのですか?
- 16. サードパーティの静的メソッドのコードカバレッジ
- 17. MongoDB FindByIdAndUpdateが私にエラーを引き起こすのはなぜですか?
- 18. は私のコードでN + 1を引き起こす現在の例ですか?
- 19. エラーを引き起こす.Net 2.0のクリーンなソリューションを構築するのはなぜですか?
- 20. PyroCMSでset_flashdata()が致命的エラーを引き起こす
- 21. iOS4(UIAlertView)なぜこのコードがメモリリークを引き起こすのですか?
- 22. このコードがメモリリークを引き起こすのはなぜですか?
- 23. .NETコアの静的コード解析ツール
- 24. MVCエラーを引き起こす剃刀条件コード?
- 25. 置き換えサードパーティのコードは、今私がここで枝
- 26. 静的クラス、私的メソッドなどをモックすることもできる.net用フレームワークのようなJMockit。
- 27. なぜこの型キャストはエラーを引き起こすのですか?
- 28. 私の単純な書き換えコードがリダイレクトループを引き起こすのはなぜですか?
- 29. RCPPがBit9エラーを引き起こすDLLファイルを生成しました
- 30. .Netユーザーコントロールが予期しないポストバックを引き起こす
よりなしであることを願っていますあなたが正確にdllをどのように使用するのかは明らかではないので、情報を伝えるのは難しいです。また、それは何dllですか?ネイティブのものかNETのDLLですか? – Mono