Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以用C#中的参数名称创建对象?_C# - Fatal编程技术网

是否可以用C#中的参数名称创建对象?

是否可以用C#中的参数名称创建对象?,c#,C#,在这种情况下,我需要以传递的参数的名称创建一个对象 public static void createobject() { createobjectInName("name"); createobjectInName("id"); } public static void createobjectInName(Object obj) { obj = new Object(); } 在这里,我想调用对象名和

在这种情况下,我需要以传递的参数的名称创建一个对象

public static void createobject()
    {
        createobjectInName("name");
        createobjectInName("id");
    }

    public static void createobjectInName(Object obj)
    {
        obj = new Object();
    }
在这里,我想调用对象名和id。。但它将创建对象obj。 任何帮助。。。
谢谢

您可能正在寻找的是
ref
out
参数:

public static void createobject()
{
    createobjectInName(out name);
    createobjectInName(out id);
}

public static void createobjectInName(out Object obj)
{
    obj = new Object();
}

请注意,必须定义
name
id
才能使其工作。您无法在运行时创建具有任意名称的变量,而且这将毫无意义,因为没有代码可以访问它(如果访问代码也使用动态名称,您需要一个字典来将字符串映射到对象)。

对象没有名称,尽管它们可以通过变量和属性(确实有名称)来“命名”。通常,不希望通过字符串名称访问变量(或属性)。要通过给定的字符串值访问对象,字典通常是合适的。你能提供更多关于最终目标是什么的背景吗?你可能想了解一下。它有利于自动生成code@JensKloster这也是一个高级主题,包含一组非常具体的有用情况。。这在这里可能不合适。@user2246674 I desagree-这是(我知道)生成变量名的唯一方法,它就像OP建议的那样动态。这是一个可怕的想法,甚至尝试它-但脱离上下文,它可能值得一试。正确地说,一种不那么严格的编程语言是正确的选择