我不知道如何定義我的問題。假設下面的代碼命名了每個區域 A、B、C,有些型別是可宣告的,有些是不可能的。我想知道這個區別。
(代碼只是一個委托的例子。)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// Area A
delegate int MyDelegate(int a, int b);
public enum myenum { a,b,c };
class another { }
//int a; you can't
//void func(int a); you can't
namespace ConsoleApp1
{
// Area B
class A
{
// Area C
public int Func(int a, int b) { return a b; }
}
class Program
{
static void Main(string[] args)
{
A a = new A();
MyDelegate d = new MyDelegate(a.Func);
d(1,2);
}
}
}
你能告訴我這件事嗎?或者我應該搜索什么?
我試圖在每個不同的區域宣告一個變數。我認為由于全域變數的問題而阻止了它,但我想知道細節。
uj5u.com熱心網友回復:
在您的示例中,您只能在區域 A 和 B 中定義型別(類、結構、列舉、委托)。區域 A 位于命名空間宣告之外,因此宣告的任何型別都將是根命名空間的成員。區域 B 位于命名空間宣告內,因此宣告的型別將包含該命名空間的成員。
區域 C 位于型別(A類)內,因此您可以在其中宣告任何型別成員(嵌套型別、欄位、屬性、方法、事件)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/526723.html
標籤:C#
上一篇:我需要用C#中的普通字典模仿ConcurrentDictionary
下一篇:檢索和更新字串的第一個數字
