相关疑难解决方法(0)

创建从IBlahblah继承的所有类的集合

使用反射(我猜?),是否可以创建一个方法来返回从名为IBlahblah的接口继承的所有对象的集合?

public interface IBlahblah;
Run Code Online (Sandbox Code Playgroud)

c# oop reflection

3
推荐指数
1
解决办法
367
查看次数

是否有像 Queue 这样的 C# 类实现 IAsyncEnumerable?

两者QueueConcurrentQueue实施IEnumerable但不是IAsyncEnumerable。NuGet 上是否有可用的标准类或类来实现IAsyncEnumerable,如果队列为空,则在将MoveNextAsync下一个添加到队列之前,结果不会完成?

c# queue asynchronous iasyncenumerable

3
推荐指数
1
解决办法
723
查看次数

如何找到实现接口的类(.Net)

我能找到的最接近这个问题的是:获得实现接口的所有类型

但这是用于代码,并使用它我必须更改代码,重新编译和运行.我想知道是否有一种更简单的方法可以查找实现某个接口的所有类.

我似乎经常面对这个问题,我正在寻找一些更简单/更通用的方法来找到我的答案.最近我想找出我可以使用哪些类实现ISet,对我来说无关紧要,只需要一个用来创建实例的类.

所以我想知道是否有任何方法可以找到实现给定接口的所有类?

谢谢,杰夫

.net inheritance

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

查找实现C#接口的所有类 - 与Java类似

可能重复:
获取使用C#3.5实现接口的所有类型
如何查找实现接口的类(.Net)

这可能在C#中像是Java吗?

如果我有一个接口名称(参数IDataReader),我如何获得实现这个的所有类的列表?

在java中,它在API中列出 - 这在C#中是否可用

c#

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

如何在不使用"new"关键字的情况下发起课程?

这可能是一个愚蠢的问题,但我正在开发一个组件,我有一个类具有如下属性的类

public class Grid()
{
 ..
 public IDecorator Decorator { get; set;}

}
Run Code Online (Sandbox Code Playgroud)

我想要的是让用户以下列方式指定自己的实现IDecorator的自定义类

...BuildGrid(
grid=>{
..
grid.Decorator =  [CustomNameSpace].[DecoratorClass] 
//as in 
grid.Decorator =  Com.MyCompany.DivDecorator
..
});
Run Code Online (Sandbox Code Playgroud)

Com.MyCompany.DivDecorator实现了IDecorator接口.那么我应该如何在没有最终用户指定"new"关键字的情况下执行此操作

grid.Decorator = new Com.MyCompany.DivDecorator();
Run Code Online (Sandbox Code Playgroud)

我知道我在这里错过了一些关键的c#概念.

谢谢

[编辑]

我试图做像这里的Java DisplayTag库这样的事情

http://www.displaytag.org/1.2/tut_decorators.html

他们这样做的方式是

... decorator="org.displaytag.sample.Wrapper"

所以我想而不是

public IDecorator Decorator { get; set;}
Run Code Online (Sandbox Code Playgroud)

我应该做

public String Decorator (get; set;}
Run Code Online (Sandbox Code Playgroud)

然后在内部使用TypeOf()来解决它....只是想知道是否有任何其他方式优雅地在C#中执行它.

谢谢

c# razor asp.net-mvc-4

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

实例化大量的类

目前我有一个像这样的类列表:

public List<Algo> AlgoList = new List<Algo>
{
    new BastionAlgo(),
    new BitcoreAlgo(),
    new Blake2SAlgo(),
    new BlakeAlgo(),
    new BlakeCoinAlgo(),
    new BmwAlgo(),
    new C11FlaxAlgo(),
    new CryptolightAlgo(),
    new CryptonightAlgo(),
    ...
};
Run Code Online (Sandbox Code Playgroud)

当我添加和删除类时,我宁愿不必维护一个长列表.有没有办法找到并实例化在.net核心2中扩展另一个类的所有类?

提前谢谢你的帮助.

c# .net-core

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