小编jop*_*jop的帖子

C#中的单一继承 - 对象类?

我很久以来一直在问自己这个问题.想发布它.C#不支持多重继承(这是事实).在C#中创建的所有类都派生出'Object'类(同样是一个事实).

因此,如果C#不支持多继承,那么即使它已经扩展了Object类,我们如何才能扩展一个类?

用一个例子说明:

  1. A类:对象 - 创建的A类.
  2. B类:对象 - 创建B类.
  3. A类:B - 再次支持.早期与对象的关联会发生什么.

我们能够在步骤3之后在A中使用对象类方法.因此转向多级继承.如果是这样的话,那么

  1. A类:B
  2. C级:B
  3. A类:C - 我必须能够在A中访问B类的方法.事实并非如此?

有人可以解释一下吗?

c#

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

VB.NET泛型为C#语法

你能告诉我这个VB.NET代码的C#等价物:

Public Partial Class Index
    Inherits System.Web.Mvc.Viewpage(Of List(Of Task))


End Class
Run Code Online (Sandbox Code Playgroud)

我不知道在C#中将它添加到何处/如何添加:

public partial class DirList : System.Web.Mvc.ViewPage
{

}
Run Code Online (Sandbox Code Playgroud)

该代码假设告诉该类期望来自控制器的任务列表......

c# vb.net generics asp.net-mvc

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

类设计与IDE:非成员非友情函数真的值得吗?

在(另有)优秀的书籍C++编码标准,第44项,标题为"首选写非成员非朋友函数"中,Sutter和Alexandrescu建议只有真正需要访问类成员的函数才能成为该类成员.所有其他只能使用成员函数编写的操作不应该是该类的一部分.他们应该是非成员和非成员.争论是:

  • 它促进了封装,因为需要访问类的内部的代码较少.
  • 它使编写函数模板变得更容易,因为您不必每次都猜测某个函数是否是成员.
  • 它使类保持较小,从而使测试和维护更容易.

虽然我看到了这些论点的价值,但我发现了一个很大的缺点:我的IDE无法帮助我找到这些功能!每当我有某种对象时,我想看看它上面有哪些操作,我不能只输入" pMysteriousObject->"并获得成员函数列表.

保持干净的设计最终会让您的编程生活更轻松.但这实际上会让我更难.

所以我想知道它是否真的值得这么麻烦.你怎么处理那件事呢?

c++ ide class-design function friend

4
推荐指数
3
解决办法
829
查看次数

使用排序输出将结果集写入文件

我想以排序的方式将结果集中的“随机”输出(大约 150 万行)放入一个文件中。我知道我可以在查询中使用按命令排序,但该命令“昂贵”。你能告诉我有什么算法可以在文件中写入结果集行,以便最终对内容进行排序,我可以通过这个获得性能吗?我使用的是 java 1.6,并且查询有多个连接。

java sorting file resultset

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

基于类型的条件逻辑

鉴于:

interface I
{
}

class B: I
{
}

class C: I
{
}

class A
{

    public void Method(B arg)
    {
    }

    public void Method(C arg)
    {
    }

    public void Method(I arg)
    {
       // THIS is the method I want to simplify.
       if (I is B)
       {
          this.Method(arg as B);
       }
       else if (I is C)
       {
          this.Method(arg as C);
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道有更好的方法来设计这种类型的交互,但由于细节需要很长时间来解释这是不可能的.由于这种模式会重复多次,我想用一般的实现来替换条件逻辑,我只能使用一行.我看不到实现这个泛型方法/类的简单方法,但我的直觉告诉我它应该是可能的.

任何帮助,将不胜感激.

.net c# polymorphism

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