实例化一个以字符串变量命名的类

本文关键字:变量 一个以 字符串 实例化 | 更新日期: 2023-09-27 18:12:50

我想知道是否有可能在c#中实例化一个字符串变量作为其名称的类。除了这个,我不知道还能怎么解释。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
public class Product
{
    string name;
    decimal cost;
    Product(string _name, decimal _cost)
    {
        name = _name;
        cost = _cost;
    }
}
class Program
{
    static void Main(string[] args)
    {
        string nameForInstantiatedClass = "DellComputer";
        Product nameForInstantiatedClass = new Product("Inspiron", 399.99m);
    }
}
}

是否有可能这样做或达到同样的效果,使用字符串来声明实例化类的名称,还是根本不可能这样做?

实例化一个以字符串变量命名的类

我想到的一件事是使用

 var products = new Dictionary<string,Product>();

然后你可以保存/检索像这样的项目

products.Add(nameForInstantiatedClass, ProductObject);
Product dellComp = products[nameForInstantiatedClass]

我不知道你为什么要那样做。你还有别的逻辑吗?您可以将实例放入List或Dictionary中,如:

Dictionary<String, Product> dict = new Dictionary()
dict.add("DellComputer", new Product("",399.99m);