Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.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#_Generics_Syntax Error - Fatal编程技术网

C# 了解对象初始值设定项在涉及泛型的情况下如何工作

C# 了解对象初始值设定项在涉及泛型的情况下如何工作,c#,generics,syntax-error,C#,Generics,Syntax Error,我已经创建了一个对象,我想通过对象初始化来实例化它(或者不管你怎么称呼它)。如果您不太确定我在说什么,请查看此MSDN链接。无论如何,我拥有的对象将类似于以下内容(我将在这里发布接口以简化事情): 好吧,既然你已经知道我的物体是什么样子了,我将试着解释我的问题。同样,我要做的是通过对象初始化来实例化我的EntryPoint对象(请参阅上面的链接以理解我的意思)。当我尝试这样做时,我得到了一个语法错误,我只是不明白为什么。话虽如此,当我尝试实例化一个新的入口点时,它是这样的: ITestItem&

我已经创建了一个对象,我想通过对象初始化来实例化它(或者不管你怎么称呼它)。如果您不太确定我在说什么,请查看此MSDN链接。无论如何,我拥有的对象将类似于以下内容(我将在这里发布接口以简化事情):

好吧,既然你已经知道我的物体是什么样子了,我将试着解释我的问题。同样,我要做的是通过对象初始化来实例化我的
EntryPoint
对象(请参阅上面的链接以理解我的意思)。当我尝试这样做时,我得到了一个语法错误,我只是不明白为什么。话虽如此,当我尝试实例化一个新的
入口点时,它是这样的:

ITestItem<int> testItem = new TestItem<int>("My Test", 0);
IEntryPoint<int> entryPoint = new EntryPoint<int>
{
    Name = "My Entry Point",
    Tests = new List<ITestItem<int>>() { testItem }
};
public EntryPoint()
{

}
ITestItem testItem=新的testItem(“我的测试”,0);
IEntryPoint入口点=新入口点
{
Name=“我的入口点”,
Tests=新列表(){testItem}
};

由于您有一个具有两个参数的构造函数,现在默认构造函数(即无参数构造函数)将不可用,除非您在类型中显式指定,因此如果无参数构造函数不存在,您将无法使用对象初始值设定项,请为
入口点添加一个无参数构造函数

ITestItem<int> testItem = new TestItem<int>("My Test", 0);
IEntryPoint<int> entryPoint = new EntryPoint<int>
{
    Name = "My Entry Point",
    Tests = new List<ITestItem<int>>() { testItem }
};
public EntryPoint()
{

}

作为参考,请看一看

,而不是到处给我们显示位,然后说你得到了“语法错误”,而不告诉我们错误是什么,请提供一个。(你没有显示你似乎正在调用的无参数
入口点
,这没有帮助。也许这就是问题所在?@jonsket ah。。。这正是我想要的,但没有达到。对不起。@JonSkeet我也要补充这个问题。是的,你是对的。我没有无参数构造函数。只有我在代码中发布的那个。让我试试看,这可能就行了。你刚才添加到答案中的链接。。。我的问题中已经有了这个链接(显然我没有通读)。不过,谢谢。是的,这是我的问题。我添加了默认(无参数)构造函数,它解决了我的问题。
ITestItem<int> testItem = new TestItem<int>("My Test", 0);
IEntryPoint<int> entryPoint = new EntryPoint<int>
{
    Name = "My Entry Point",
    Tests = new List<ITestItem<int>>() { testItem }
};
public EntryPoint()
{

}