問題タブ [activator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Activator.CreateInstanceからの例外をキャッチできません
OK、私はこのコードがあなたには奇妙に見えることを認めます、そしてそれはそれが奇妙だからです。これは動作を再現するためのコードであり、使用したいコードではありません。
どの例外タイプをキャッチしようとしても(私が知る限り、スローされる実際の例外はArgumentExceptionです)、catchブロック内のコードは実行されません。実際には、実行はActivator.CreateInstance-lineで停止します。
castle-windsor - Windsor カスタム コンポーネント アクティベーターをインスタンス化できません
Resolve の呼び出しで例外が発生します。
そこには間違いなくパブリックのパラメーターなしのコンストラクターがあります(実行時にリフレクションを使用してこれを確認しました)...だから、問題はそれが一般的であるという事実に関係している可能性があると思いますか? コンポーネント モデル オブジェクトを取得し、RequiresGenericArguments を true に設定しようとしましたが、うまくいきません。
どんな助けでも大歓迎です!ありがとう。
c# - インストール手順中のActivator.CreateInstanceオブジェクトのInvalidCastException
私は次の手順を持っています
この手順は問題なく機能しますが、インストールカスタムアクション中に呼び出された場合。
言い換えると、自分のInstall(...)オーバーライド内でOpenInstance(...)プロシージャを呼び出すと、次のようになります。
インストーラー拡張クラスで定義:
ラップされていないオブジェクトを目的のタイプにキャストしようとすると、例外が発生しました。
例外の詳細:
- タイプ:System.InvalidCastException
- メッセージ:「IMyInterface」タイプに透過プロキシをキャストできません。
手順がこれまでに機能する理由を理解したいのですが、この特定の場合です。
詳細
オブジェクト作成手順を段階的に実行しましたが、すべて問題ないようです。オブジェクトはActivator.CreateInstanceプロシージャによって適切に作成されています。
Activator.CreateInstanceによって使用されるアセンブリは、ファイルシステムにすでに存在します。
特定のアセンブリ(ソースコードのassemblyName)は、インストール手順によって作成されたばかりのウィンドウサービスです。
c# - Activator.CreateInstance: クラスの動的インスタンス化
疎結合構造を設計しています。String で表されるコードを介して、さまざまなアセンブリ/名前空間からクラスを呼び出したいと考えています。私の設計では、クライアントのビジネス ルールはそれぞれ異なるアセンブリにあり、相互に依存していません (1 つのクライアントは 1 つの DLL に対する比率です)。そのため、1 つのクライアントのビジネス ルールを更新しても、他のクライアントには影響しません。私の注意は、Factory Design の使用とActivator.CreateInstance()メソッドの使用にあります。
これはプロジェクトのセットアップです (2+n DLL)
実際のコード
私のサンプルが機能しない理由は何ですか? また、デザインを改善するための提案はありますか? 前もって感謝します。
使ってみてはどうですか
式.ラムダ
誰でも?
ninject - Ninject、Providers、およびActivator.CreateInstance
私はNinjectにかなり慣れていませんが、カスタムプロバイダーを使用してDIに使用することに成功しました。
バインディングは次のように初期化されます
カスタムプロバイダーでは、Activator.CreateInstanceを次のように呼び出します
(はい、上記のコードにはエラー処理などがないことを認識しています:))
そして、これはすべて魅力のように機能します。
今、私が直面している問題は、IPatientRecordLocatorのインスタンスに注入したい新しいクラスを導入するときです。これらのクラスの1つに次のようなコンストラクターを追加すると、問題が発生します
次に、Activator.CreateInstanceを機能させるには、パラメーターのないコンストラクターをクラスMockPatientRecordLocatorに追加する必要があります。
だから、私の質問は、NinjectにIContactAdapterを実装するクラスのインスタンスをMockPatientRecordLocatorなどに注入させるにはどうすればよいですか?メソッドインジェクションを試しましたが、役に立ちませんでした。
私が達成しようとしているのは、クラスPatientRecordSummaryのインスタンスにMockPatientRecordLocatorのインスタンスが注入され(コンストラクター注入を使用)、MockPatientRecordLocatorのインスタンスにIContactAdapterのインスタンスが注入されるという一種の連鎖注入であることを説明するのを忘れました(再びコンストラクタインジェクションを使用します(可能な場合))。チェーンの最初の部分は機能しますが、2番目の部分は機能しません。
wpf - Activator.CreateInstanceはDotNet3.5で使用できますか?
DotNet 3.5で利用可能なActivator.CreateInstanceはありますか?
c# - C#Activator.CreateInstanceMissingMethod例外
次のように、同じ基本タイプを持つオブジェクトのインスタンスを作成しようとしています。
派生オブジェクトには、次のようなコンストラクターがあります。
ベースオブジェクト(SearchLogicObjectBase)には、次のようなコンストラクターがあります。
ただし、上記のコードでは次の例外が発生します。
タイプ'System.RuntimeType'のコンストラクターが見つかりません。
基本型と派生型の両方に単一のブール値をとるコンストラクターがあるため、エラーが発生する理由がわかりません。
誰か助けてもらえますか?
c# - 文字列でオブジェクトを作成するカスタムウィンザーアクティベーターを作成するにはどうすればよいですか?
クラス名を受け取り、その関数を呼び出すコンソールアプリケーションがあります。
これまでは、それ以外に初期化を行う必要はありませんでしたが、コンストラクターの注入によってIScheduledTaskが依存するコンポーネントがいくつかあります。
クラスの同じ名前で名前付きインスタンスを定義する方法はありますか?後でresolveを使用してすべての依存関係を解決しますか?
つまり、パラメータとして「SomeScheduledTask」を取得した場合、次のことができます。
私の問題を解決するためにこのようなことをすることはできますか?
そして私のアクティベーターでこのようなことをします:
json - ListでActivator.CreateInstanceを使用する方法DataContractJsonSerializerを使用してjsonを逆シリアル化する場合
私はこのjson文字列を逆シリアル化しています:
アイテムを表すクラスは次のとおりです。
MyClassのデフォルトのコンストラクターで、「_dtcreate」のデフォルト値を設定していることに注意してください。
したがって、私はこのコードを使用して、jsonをTの配列に逆シリアル化します。
json文字列を逆シリアル化すると、逆シリアル化された配列にプロパティ"_dtcreate"evaluedが見つかりませんでした。
DataContractJsonSerializerはMyClassのデフォルトコンストラクターを使用していないと思います。
使用できますか
配列「gType」に属するすべてのオブジェクトのインスタンスを作成して、逆シリアル化されたリストのすべてのオブジェクトがTクラスのdafaultコンストラクターで作成されるようにしますか?
どうもありがとう!
sql-server - 「通知メッセージの種類予期していませんでした。」はSSBEAによってログに記録され、私のアプリは呼び出されません
外部アクティベータがインストールされたSQLServer2005StandardEditionを実行しています。SSMSタブに次のコードがあります。
実行すると、結果ペインに期待どおりの出力が表示されます。EATrace.logに、「通知メッセージタイプ// abc / XYZ/RequestPostMessageが予期されていませんでした」というエラーメッセージが表示されます。
EAService.configには、予期するメッセージタイプをEAに指示するものはありません。EAが構成ファイルで指定されたアプリケーションを実行する代わりにこのエラーが発生するのはなぜですか?契約が間違って設定されていませんか?
**以下に新しく追加されたセクション:**
Remusの提案に従って、私は以下を追加しました。
しかし、構成ファイルのNotificationService名を「// abc / xyz/TargetPostService」から「//abc/ xyz / NotificationPostService」に変更すると、「ERROR = 31、通知サービス// abc /xyz/」というエラーが発生します。サービスを開始すると、EATrace.logに「NotificationPostServiceが存在しません」と表示されます。ただし、そのサービスはsys.servicesにリストされています。
**エラー31は解決しましたが、問題は私のアプリが呼び出されていないことです**
Service Broker Team Blogのサンプルアプリを使用し、デバッグ目的でログを追加しました。実行されるとすぐに、他のことをする前にログファイルを書き込みます。VS2010から実行してテストしましたが、正常に機能しますが、この質問の冒頭のコードを使用してメッセージを送信すると、作成されなくなります。したがって、私のアプリはEAによって実行されていないことがわかります。なぜこれが起こっているのかをどのように診断できますか?EAService.configファイルのパスは正しいです。ファイル全体は次のとおりです。
正しいQueueNameを使用していますか?このファイルに他に考えられるエラーはありますか?これを診断するために他に何ができますか?これが発生する会話です: