【问题标题】:C# Extend a Library Class to Rest of ProgramC# 将库类扩展到程序的其余部分
【发布时间】:2018-06-16 03:02:36
【问题描述】:

我有一个公共库类,其中包含我的程序运行所需的所有全局变量。它的结构是这样的:

public static class Library
{
    public static string globalString = "";
}

在其他语言中,可以使用extends 将一个类扩展到另一个类,因此全局变量不需要“库”前缀,但在 C# 中它的工作方式略有不同。我尝试在我想扩展到的类中的冒号之后添加它(例如:public partial class Login : Form, Library),我被告知“类不能有多个基类”。显然,可以使用接口来扩展类,但我不完全理解它是如何工作的或如何实现它。

【问题讨论】:

    标签: c# class structure extend readability


    【解决方案1】:

    如果您使用的是较新版本的 C# 之一,则可以导入一个静态类,以便在不完全限定其名称的情况下使用其成员。在 C# 中,语法是...

    using static RootNamespace.Library;
    // Provided the class Library is in a namespace called RootNamespace
    

    上面的行将被放置在代码文件的顶部,在这种情况下,我假设它在 Login.cs 中。这将是 using System; 等其他 using 语句之一,您将能够在 Login 类中使用 Library 的公共静态成员。

    不过,我建议使用全局变量以外的其他东西,例如属性,以便您可以封装一些逻辑并通过在更改这些值之前运行一些验证来防止无效状态。

    【讨论】:

    • 感谢您的快速回复。 using static RootNamespace.Library 确实完美无缺。出于您提到的原因,我可能会考虑使用属性而不是变量。
    猜你喜欢
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多