私はシンプルレシピのリストを作成しようとしています。これは本質的に「成分」とそれらが生成する製品のリストを追跡します。コンストラクタ引数としてクラス参照を渡す
私の問題は、私のRecipe
クラスでは、私はそのインスタンスではなく最終製品を表すクラスを渡すことを好みます。私はジェネリックスやC#の型を渡すことに慣れていないので、私はアドバイスを探しています。
私が持っている場合:
public class Bread : Food {
//...
}
私はクラスではなく、インスタンスを渡したいです。
var bread = new Recipe(Bread, ... ingredients);
唯一の注意点は、それがあまりにも総称することはできません、すべての引数はFood
タイプでなければならないということです。
レシピが製品のインスタンスを「生成」するよう要求された後は、Activator.CreateInstance
と呼ぶでしょう。
インスタンスの送信ではなく、複製する必要があるため、主にインスタンスの送信を避けたいと考えています。
「実際に意味をなさないクラス」ではなく「インスタンスを渡したい」。あなたは* something * - インスタンス、 'Type'オブジェクト、文字列、何かを送る必要があります。私は多くの 'Type'sを送信したいと思います。 – Jonesopolis
私の専門用語はC#と正しくマッチしませんが、javaでは' public Recipe(Class product、...) ' –
helion3