草庐IT

Constructor

全部标签

C# 语法通过数组中的构造函数参数初始化自定义类/对象?

我有一个至少有4个变量的类,我为该类创建了一个构造函数,以便我可以用它初始化它MyClasstestobj=newMyClass(1234,56789,"testtext","somethingelse","foo");工作正常。然后我有一个数组,我需要在一个循环中解析它,所以我想将一些静态数据放入这个数组中。我的方法是:MyClass[]testobjlist=newMyClass{newMyClass(1001,1234,"Text1","abcdefghijklm","ding"),newMyClass(1002,2345,"Textxx","blabla","dong"),ne

C# 语法通过数组中的构造函数参数初始化自定义类/对象?

我有一个至少有4个变量的类,我为该类创建了一个构造函数,以便我可以用它初始化它MyClasstestobj=newMyClass(1234,56789,"testtext","somethingelse","foo");工作正常。然后我有一个数组,我需要在一个循环中解析它,所以我想将一些静态数据放入这个数组中。我的方法是:MyClass[]testobjlist=newMyClass{newMyClass(1001,1234,"Text1","abcdefghijklm","ding"),newMyClass(1002,2345,"Textxx","blabla","dong"),ne

报错TypeError: Class extends value undefined is not a constructor or null

在执行npmrunbuild的时候遇到了错误:TypeError:Classextendsvalueundefinedisnotaconstructorornull;而执行npmrunserve是可以正常执行的,报错如下:Buildingforproduction...ERROR TypeError:ClassextendsvalueundefinedisnotaconstructorornullTypeError:ClassextendsvalueundefinedisnotaconstructorornullatObject.(E:\etest\lsj_test\node_modules\

c# - 构造函数中的 SortedSet<T> 和匿名 IComparer<T> 不起作用

为什么匿名函数可以作为方法的参数,而不是构造函数的参数?如果我创建一个List,它有一个带有以下签名的排序方法:publicvoidSort(IComparercomparer)以下工作的地方:Listlist=newList();list.Sort((a,b)=>a.CompareTo(b));SortedSet有一个具有类似签名的构造函数:publicSortedSet(IComparercomparer)但是在构造函数中使用匿名函数时会失败。以下内容无效:SortedSetset=newSortedSet((a,b)=>a.CompareTo(b));创建排序类按预期正常工作:p

c# - 构造函数中的 SortedSet<T> 和匿名 IComparer<T> 不起作用

为什么匿名函数可以作为方法的参数,而不是构造函数的参数?如果我创建一个List,它有一个带有以下签名的排序方法:publicvoidSort(IComparercomparer)以下工作的地方:Listlist=newList();list.Sort((a,b)=>a.CompareTo(b));SortedSet有一个具有类似签名的构造函数:publicSortedSet(IComparercomparer)但是在构造函数中使用匿名函数时会失败。以下内容无效:SortedSetset=newSortedSet((a,b)=>a.CompareTo(b));创建排序类按预期正常工作:p

C# base() 构造函数顺序

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:C#constructorexecutionorderclassFoo{publicintabc;Foo(){abc=3;}}classBar:Foo{Bar():base(){abc=2;}}在上面的例子中,当Bar对象被创建时,BarObject.abc的值是多少?是先调用基础构造函数,还是运行Bar(),/然后/调用base()构造函数?

C# base() 构造函数顺序

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:C#constructorexecutionorderclassFoo{publicintabc;Foo(){abc=3;}}classBar:Foo{Bar():base(){abc=2;}}在上面的例子中,当Bar对象被创建时,BarObject.abc的值是多少?是先调用基础构造函数,还是运行Bar(),/然后/调用base()构造函数?

c# - 在不存在的结构布局中循环

这是我的一些代码的简化版本:publicstructinfo{publicfloata,b;publicinfo?c;publicinfo(floata,floatb,info?c=null){this.a=a;this.b=b;this.c=c;}}问题是错误Structmember'info'causesacycleinthestructlayout.我正在寻找类似于值类型行为的结构。我可以使用类和克隆成员函数对此进行模拟,但我不明白为什么我需要这样做。这个错误怎么会是真的?在某些类似的情况下,递归可能会永远导致构造,但我想不出在这种情况下有什么办法。如果程序可以编译,下面是应该没

c# - 在不存在的结构布局中循环

这是我的一些代码的简化版本:publicstructinfo{publicfloata,b;publicinfo?c;publicinfo(floata,floatb,info?c=null){this.a=a;this.b=b;this.c=c;}}问题是错误Structmember'info'causesacycleinthestructlayout.我正在寻找类似于值类型行为的结构。我可以使用类和克隆成员函数对此进行模拟,但我不明白为什么我需要这样做。这个错误怎么会是真的?在某些类似的情况下,递归可能会永远导致构造,但我想不出在这种情况下有什么办法。如果程序可以编译,下面是应该没

c# - 当两个重载具有相同的签名时调用构造函数重载

考虑下面的类,classFoo{publicFoo(intcount){/*..*/}publicFoo(intcount){/*..*/}}以上代码无效,无法编译。现在考虑以下代码,classFoo{publicFoo(intcount){/*..*/}publicFoo(Tt){/*..*/}}staticvoidMain(string[]args){Foofoo=newFoo(1);}以上代码有效且编译良好。它调用Foo(intcount)。我的问题是,如果第一个无效,第二个如何有效?我知道类Foo是有效的,因为T和int是不同的类型。但是当它像Foofoo=newFoo(1)这