問題タブ [instantiation]
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.
.net - パラメータを使用して変数型をインスタンス化する洗練された方法はありますか?
これは合法ではありません:
これを行うには、Tの型オブジェクトを反映するか、Activator.CreateInstanceを使用する必要があります。どちらもかなり厄介です。もっと良い方法はありますか?
c++ - そのクラスが作成される前であっても、オブジェクトを宣言します
クラスがC++で作成される前に、クラスのオブジェクトを宣言する方法はありますか?2つのクラスを使用しようとしているので、最初のクラスには2番目のクラスのインスタンスが必要ですが、2番目のクラスにも最初のクラスのインスタンスが含まれています。無限ループに陥る可能性があると思われるかもしれませんが、実際には、最初のクラスの前に2番目のクラスのインスタンスを作成する必要があります。
java - JUnitTestCaseオブジェクトのインスタンス化
オブジェクトの新しい(または異なる)インスタンスをTestCase
使用して、JUnitテストケースの各テストメソッドを実行していますか?または、1つのインスタンスがすべてのテストに再利用されますか?
このテストの実行中に、MyTest
クラスのインスタンスがいくつ作成されますか?
可能であれば、動作を確認できるドキュメントまたはソースコードへのリンクを提供してください。
php - PHPアプリケーションで起こりうる循環依存の問題
PHPアプリケーションの循環依存の問題であると私が信じていることを経験しています。これが正しくない場合はお知らせください。状況は次のとおりです。
LogManagerとDBSessionの2つのクラス。
DBSessionはデータベースとの対話に使用され、LogManagerはファイルへのログ記録に使用されます。どちらも私のアプリケーションで広く使用されています。DBSessionのインスタンスを作成するときは、コンストラクターパラメーターを介してLogManagerのインスタンスを指定する必要があります。これは、DBSessionが情報をファイルに記録し、LogManagerインスタンスを使用してこれを行うためです。
ここで、LogManagerを拡張して、テキストファイルではなくデータベーステーブルにもログを記録できるようにしたいと思いました。当然、既存のクラスを再利用するのが好きですが、これが面白い状況をもたらすことにすぐに気づきました。
DBSessionは、構築のためにLogManagerのインスタンスをすでに必要とします。LogManagerでDBSessionクラスを再利用する場合は、DBSessionのインスタンスが必要になります。どうすれば両方の要求を満たすことができますか?明らかに、私のアプローチには何か問題があるに違いありません。
これを修正することをどのように提案しますか?
よろしくお願いします。
java - Class.newInstance()が「悪」なのはなぜですか?
Ryan Delucchiは、 Tom Hawtinの回答に対するコメント#3でここに質問しました。
Class.newInstance()が「悪」なのはなぜですか?
これは、コードサンプルに対応しています。
それで、なぜそれは悪なのですか?
c# - 文字列からクラスのインスタンスを作成する
実行時にクラスの名前を知っているという事実に基づいて、クラスのインスタンスを作成する方法はありますか?基本的に、私は文字列にクラスの名前を入れます。
java - Java で、デフォルトで Annotation インスタンスを作成する
次の注釈のインスタンスを作成するにはどうすればよいですか (すべてのフィールドがデフォルト値に設定されています)。
試してみnew Settings()
ましたが、うまくいかないようです...
java - Java の KeyListener は抽象的です。インスタンス化できない?
Javaでキーリスナーを作成しようとしていますが、試してみると
Netbeans は、KeyListener は抽象的であり、インスタンス化できないと言っています。このキーリスナーの他の部分が欠けていることは知っていますが、キーリスナーを使用するのはこれが初めてなので、他に何が必要なのかわかりません。なぜそれが私にこれを言っているのですか?
ありがとう、
トメク
java - ColdFusion から .jar を呼び出す
D:\Coldfusion8\wwwroot\web-inf\lib\ ディレクトリに配置した .jar ファイルがあります。ファイルはabcdef.jarです
これを行うのはこれが初めてで、createObject() のパスがどうあるべきかわかりません。
しかし、私がそれを実行すると、私は得る
パスに何が欠けていますか?
c# - C#-ジェネリッククラスで提供されているインターフェイスに応じてクラスをインスタンス化します
インターフェイスを型として取得するジェネリック関数がありますが、ある条件では、インターフェイスに応じて新しいクラスを作成する必要があります。私はそれについて考えていて、それを解決する方法はIoCを使用することですが、IoCは少しやり過ぎのように見えるので、別の方法があることを望んでいました。
以下は、ビジターパターンを使用した試みです。
インターフェイスの代わりにオブジェクトを取得している場合は、ビジターパターンを使用してインスタンス化するクラスを把握できますが、提供されているインターフェイスによってはこれを把握できないようです。
私が持っていた他のアイデアは、またはのようなwhere宣言を行うことができるかどうかでした。
質問が明確であることを願っています:)
-マーク
返信ありがとうございます。
問題は、メソッドに多くの異なるインターフェースを割り当てることができることです。たとえば、次のようになります。
RepositoryManagerクラス:
したがって、TはタイプIabcまたはIxyzのいずれかである可能性があることを通知する必要があるため、使用T item = (T)CreateNew(new T(), id);
は機能しませんが、これを行うと、次のエラーが発生します。
次のメソッドまたはプロパティ間で呼び出しがあいまいですRepositoryManager<T>.CreateNew(IMedicament, string)
。RepositoryManager<T>.CreateNew(IRefund, string)
コードを数回コピーするだけでなく、これが機能するようになればいいのですが。