Ben the source code of StyleCop gezen ediyorum ve meraklı bir şeyi buldum:C# sınıfındaki @ namespace alanı nedir?
/// <summary>
/// The namespace that the rule is contained within.
/// </summary>
private string @namespace;
// [...]
internal Rule(string name, string @namespace, string checkId, string context, bool warning) : this(name, @namespace, checkId, context, warning, string.Empty, null, true, false)
{
Param.Ignore(name, @namespace, checkId, context, warning);
}
bu şey nedir? namespace
anahtar kelimesi değil, bir alanın belirtmek için at işaretinin kullanıldığı basit bir alan mı? Bu durumda, en-işareti (örneğin, vb @dynamic
, @using
için) herhangi bir ayrılmış kelime için kullanılabilir?
Sadece saklıdır kelimeler; * ile herhangi bir * tanımlayıcıyı başlatabilirsiniz. Niye ya? Çünkü * gelecekte hangi kelimelerin anahtar kelimeler olacağını bilmiyorsunuz *. Eğer paranoyaksanız ve bir gün içeriğe dayalı bir anahtar kelimeye "blah" yapacağımızdan korkuyorsanız, o zaman "int blah;" diyebilirsiniz. blah operatörünü eklediğimizde bile kodunuzun derlemeye devam edeceğinden emin olun. –
Ayrıca, alanın adının "ad alanı" olduğunu unutmayın. @ Sadece derleyiciye "takip eden şeyin bir isim değil, bir anahtar kelime olduğunu" söyler. Aksi takdirde göz ardı edilir. –