Tag: static classes

C#中是否有内置类型包含bool和静态方法返回的字符串?

我正在寻找一种从函数或方法返回的类型,首先传达它是否成功,然后将消息(作为字符串)附加到它以传递有关其失败原因的更多信息。 它可能是应用程序退出代码的一部分; 但是,我不创建一整套退出代码来索引特定的错误消息。 我喜欢单个“成功”退出代码的想法,因此可以快速检查呼叫是否失败并相应地工作。 我想把它作为一系列静态方法(如服务调用)的返回类型,为此我可以创建一个包含这两个字段的类(bool和string); 但是,我觉得这些可能已经存在,尽管我还没有找到它。 此外,如果有更好的实践来处理从方法获得此类信息的返回,或者完全反对这些静态类的一般规则,我欢迎您的意见。 为了更好的可视化 public static CreateSomething(string somethingName) { … return new (“Fail!”, “Because…”); }

枚举和使用带常量的静态类有什么区别?

这两个项目之间的性能影响是什么? 我最近看到了野外的静态类,我不知道该怎么做。 public enum SomeEnum { One = 1, Two, Three } public static class SomeClass { public static readonly int One = 1; public static readonly int Two = 2; public static readonly int Three = 3; }

静态类的扩展方法?

可能重复: 我可以将扩展方法添加到现有的静态类吗? 我知道我可以通过以下方式扩展课程。 我有一个静态类,我想扩展。 我怎么能这样做? 我想写ClassName.MyFunc() static public class SomeName { static public int HelperFunction(this SomeClass v)

重构静态类以使用dependency injection

我们需要在具有静态方法的代码中使用非托管库。 我想在我的代码中将库操作作为依赖项引入。 除了具有静态方法之外,库还具有初始化方法和设置方法,两者都是全局的。 因此,我不能将它包装在实例类中,因为如果一个实例更改了设置,则所有其他实例都将受到影响,如果一个实例初始化,则所有其他实例将重新初始化。 我想把它作为一个单独的类引入。 这样它将在一个实例类中,但只有一个实例,因此我不必担心更改设置或初始化。 您如何看待这种方法? 我对dependency injection模式很新,我不确定单例模式是否是一个好的解决方案? 您对类似案例的解决方案是什么? 编辑:初始化也是一个参数,所以我不能只是锁定方法调用,并在每次调用时重新初始化和更改设置。 编辑2:以下是一些方法的签名: public static void Initialize(int someParameter) // Parameter can only be changed by re-initalization which // will reset all the settings back to their default values. public static float[] Method1(int someNumber, float[] someArray) public static void ChangeSetting(string settingName, int settingValue)

C#中的抽象类vs静态类

可能重复: 抽象类和静态类之间有什么区别? 你好 我想知道C#中抽象类和静态类之间的区别是什么 我什么时候使用什么?为什么? 是抽象类是一个我们无法创建它的实例的类吗? 谢谢

为什么使用静态类?

我对静态类和静态方法有疑问。 从MSDN我理解“静态类和类成员用于创建可以在不创建类实例的情况下访问的数据和函数。” 因此,如果我们不想将一个类与一个实例相关联,我们将把它作为静态。 这是唯一的优势吗? 任何人都可以指导我在静态类的实时场景。 在课堂上的一些时间(不是静态的)我发现了静态方法。 静态方法在实际中给出了多实例方法的优点/性能优势。

如何序列化静态类的非静态子类

我想序列化一个非常普通的类,但问题是它嵌套在这样的静态类中: public static class StaticClass { [Serializable] public class SomeType { … } } 这段代码: StaticClass.SomeType obj = new StaticClass.SomeType(); XmlSerializer mySerializer = new XmlSerializer(typeof(obj)); 产生此错误: StaticClass.SomeType cannot be serialized. Static types cannot be used as parameters or return types. 这个错误似乎完全无关紧要; StaticClass.SomeType不是静态类型。 有没有解决的办法? 我错误地认为这个错误是愚蠢的吗?

如何在Main()方法之前在C#中运行静态初始化方法?

给定一个带有初始化方法的静态类: public static class Foo { // Class members… internal static init() { // Do some initialization… } } 如何确保在Main()之前运行初始化程序? 我能想到的最好的是将它添加到Foo : private class Initializer { private static bool isDone = false; public Initializer() { if (!isDone) { init(); isDone = true; } } } private static readonly Initializer initializer = new Initializer(); 这有用还是有一些不可预见的警告? 还有更好的方法吗?

错误:必须在顶级静态类中定义扩展方法(CS1109)

我正在尝试制作一个倒计时程序,我可以开始和停止,并在需要时将倒计时的值设置为10分钟。 但我收到的错误我不太明白。 我不是那样的C#,所以这里是代码: 有人可以帮我一点吗? 想想我在框架3.0上运行什么? using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Timers; namespace PauseMaster { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void MainForm_Load(object sender, EventArgs e) { } private DateTime endTime; private void btnStartStop_Click(object sender, EventArgs e) […]