如何直接在名称空间中定义数据类型

M3rein

我想知道你是否可以在下面有类似的东西:

namespace myNamespace
{
    public string myString;
}

我找不到任何可以解释这一点的东西,可能是因为我搜索的关键字太糟糕了。谁能告诉我是否有办法做到这一点?

如果这可能的,我可能搞砸了一些事情。无论哪种方式,我都想知道。

我想知道如何做到这一点,因为我想在整个命名空间中访问它,而不必在不同的类中访问 something.myString。这在我看来似乎合乎逻辑,但显然不可能。

德米特里·比琴科

您不能直接在以下字段声明字段namespace

    // doesn't compile
    namespace myNamespace
    {
        public string myString; // <- syntax error
    }

但是您可以(C# 6.0+)的帮助下模拟这样的语法using static

    namespace MyLibrary 
    {
        // put myString within a static class
        public static class MyStorage 
        {
            // let turn field into property
            public static string myString {get; set;}
        }
    }

然后使用静态类using static

    // please, notice "using static"
    using static MyLibrary.MyStorage;

    namespace myNamespace
    {
        public class MyClass 
        {
            public void MyMethod() 
            {
                myString = "abc"; // as if it has been declared in the namespace

                string test = myString;  
                ...
            }
        } 

    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在模块名称空间中使用Vuex类型常量?

extern如何在名称空间中工作?

为什么要将类型放在未命名的名称空间中?

如何在XAML中的CLR名称空间中从声明的程序集以外的程序集映射类型?

如何在Vue组件名称空间中定义可重用函数

本地数据类型定义

如何在新旧名称空间中使用Avro数据

如何为嵌套递归数据定义数据类型

如何定义引用其定义的递归数据类型

如何定义由其他数据类型组成的数据类型?

C ++:如何访问相同名称空间中但在不同文件中定义的变量?

在最初在内联名称空间的封闭名称空间中定义的内联名称空间中扩展名称空间

声明一个可以包含命名空间中定义的所有数据类型的c ++向量

如何从工作空间中显示数据或直接从应用程序中获取数据?

如何直接在numpy数据类型中为16位无符号整数指定尾数?

名称空间中的类定义

如何定义数据类型?

增强序列化-在不同名称空间中具有针对单个数据类型的加载和保存方法

具有自定义返回类型的全局名称空间中的friend函数

如何通过名称获取类的数据类型?

针对未引用名称空间中定义的类型的类型推断

该用户定义的数据类型是如何类型转换的?

定义的名称空间中的字典分配失败

如何声明在不同名称空间中定义的结构?

如何在Saxon CLI中定义XML名称空间,以便我可以查询该名称空间中的内容?

在名称空间中获取某些类型

传递相同定义但在不同命名空间中的数据类型

代数数据类型(预期)名称冲突..如何?

SSMS:如何查找名称相似但数据类型不同的列