相关疑难解决方法(0)

静态类和单例模式之间的区别?

静态类和单例模式之间存在什么真实(即实际)差异?

两者都可以在没有实例化的情况下调用,两者都只提供一个"实例",它们都不是线程安全的.还有其他区别吗?

singleton static design-patterns

1708
推荐指数
21
解决办法
48万
查看次数

为什么C#不允许静态方法实现接口?

为什么C#这样设计?

据我所知,接口只描述行为,并且用于描述实现某些行为的接口的类的合同义务.

如果类希望在共享方法中实现该行为,为什么不应该这样做呢?

这是我想到的一个例子:

// These items will be displayed in a list on the screen.
public interface IListItem {
  string ScreenName();
  ...
}

public class Animal: IListItem {
    // All animals will be called "Animal".
    public static string ScreenName() {
        return "Animal";
    }
....
}

public class Person: IListItem {

    private string name;

    // All persons will be called by their individual names.
    public string ScreenName() {
        return name;
    }

    ....

 }
Run Code Online (Sandbox Code Playgroud)

c# oop language-features

435
推荐指数
9
解决办法
18万
查看次数

方法可以做成静态,但应该吗?

Resharper喜欢指出每个asp.net页面可以静态化的多个函数.如果我让它们静止,对我有帮助吗?我应该将它们设置为静态并将它们移动到实用程序类吗?

.net c# resharper refactoring static-methods

356
推荐指数
10
解决办法
6万
查看次数

什么是扩展方法?

.NET中的扩展方法是什么?



编辑:我在使用扩展方法时发布了一个跟进问题

.net extension-methods

43
推荐指数
4
解决办法
7094
查看次数

什么使语言面向对象?

由于没有有意义的条款的辩论毫无意义,我想我会指出房间里的大象并问:究竟什么语言"面向对象"?我不是在寻找这里的教科书答案,而是根据你在你的领域中运作良好的OO语言的经验,无论它是什么.

一个可能有助于首先回答的相关问题是:面向对象语言的原型是什么?为什么?

language-agnostic oop glossary programming-languages

34
推荐指数
4
解决办法
2万
查看次数

C#的单例模式

我需要存储一堆需要全局访问的变量,我想知道单例模式是否适用.从我看过的例子来看,单例模式只是一个无法继承的静态类.但我见过的例子对我的需求来说过于复杂.什么是最简单的单身人士课程?难道我不能只用一些变量制作一个静态的密封类吗?

c# singleton

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