小编CSh*_*per的帖子

如何定义派生类的"列表"?

我有一个基类和一些派生类

public class MyBase {...}
public class MyClass1 : MyBase {...}
public class MyClass2 : MyBase {...}
Run Code Online (Sandbox Code Playgroud)

现在我想列出这些派生类(类!!不是类的实例!),然后我想随机创建这些派生类之一的一个实例.

这是如何运作的??

这里我想要的伪C#:)

List<MyBase> classList = new List<MyBase> () { MyClass1, MyClass2, MyClass3, ...}

MyBase randomInstance = new classList[random.Next(0,classList.Count-1)]();
Run Code Online (Sandbox Code Playgroud)

(不幸的是,这个List构造需要MyBase的实例而不是类名)

c# types class derived

1
推荐指数
2
解决办法
2012
查看次数

我自己的类(List <int>)不喜欢交叉.为什么?

我有一个派生自List的类.我无法在我的类的实例上使用intersect().为什么?

我有的是:

class myList : List<int>
{ ... }
Run Code Online (Sandbox Code Playgroud)

我尝试做的是

myList list1 = new some initialization...
myList list2 = new some initialization...

myList list3 = list1.Intersect(list2);
Run Code Online (Sandbox Code Playgroud)

这不起作用.编译器抱怨类似"Error 1 Typ"System.Collections.Generic.IEnumerable"无法隐式转换为"myList"."

我不明白这里有什么类型的混淆:(我已经在我的Intersect示例中尝试了一些演员,但它没有用.

任何人都可以解释一下这里的问题是什么,我做错了什么?

谢谢!

c# types intersect

0
推荐指数
1
解决办法
70
查看次数

标签 统计

c# ×2

types ×2

class ×1

derived ×1

intersect ×1