我要找出您是否可以在下面有类似的东西:
namespace myNamespace
{
public string myString;
}
我找不到任何解释这一点的东西,这可能是因为我的搜索关键字很糟糕。谁能告诉我是否有办法这样做?
如果此是,我可能已经愚弄了一些东西。无论哪种方式,我都想知道。
我想知道如何做到这一点,因为我想在整个姓名空间中访问此操作,而不必去做任何事情。这在我眼中似乎是合乎逻辑的,但显然是不可能的。
您无法在namespace
中直接声明字段:
// doesn't compile
namespace myNamespace
{
public string myString; // <- syntax error
}
但是您可以在using static
(C#6.0 )的帮助下模仿这样的语法:
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;
...
}
}
}