相关疑难解决方法(0)

C#:方差(协方差/反解)是多态性的另一个词吗?

我试图弄清楚这些词的确切含义,Covariance以及Contravariance在线的几篇文章和关于StackOverflow的问题,从我能理解的,它只是多态另一个词.

我对上述陈述是否正确?或者我弄错了?

c# polymorphism covariance contravariance variance

41
推荐指数
4
解决办法
6321
查看次数

如何正确返回接口列表类型?

使用以下代码,我在"返回书籍"上收到"无法隐式转换"编译错误.线.

我认为,因为我返回一个实现IPublication的书籍对象列表,这应该工作正常吗?

public interface IPublication {}

public class Book : IPublication {}

public List<IPublication> GetBooks()
{
    List<Book> books = new List<Book>();
    return books;
}
Run Code Online (Sandbox Code Playgroud)

我注意到,如果我将一本书作为单个IPublication对象返回,它可以正常工作.介绍List<>需要显式转换.

作为我正在使用的解决方法:

return books.Cast<IPublication>().ToList();
Run Code Online (Sandbox Code Playgroud)

c# interface list

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

在一个处理程序中处理所有事件?

在VB.NET中是否可以轻松编写一个事件处理程序来处理每个触发的事件?我想知道是否可以使用这样的东西制作日志记录系统.

我想做一些像(在伪代码中)的东西:

Public Sub eventHandledEvent(ByVal sender As Object, ByVal e As EventArgs)
    File.Write(sender.EventName)
End Sub
Run Code Online (Sandbox Code Playgroud)

我意识到它会很慢,但它不适用于生产系统,只能作为开发工具.

vb.net events event-handling

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