'' ifadelerini kullanarak içinde olmalıdır ya da ad dışında?
Bazı C StyleCop çalışan edilmiştir# Kodu ve using
ifadelerim ad içinde olması gerektiğini rapor ediyor.
Ad dışında içinde using
ifadeleri koyarak yerine teknik bir nedeni var mı?
CEVAP
Aslında ikisi arasında ince bir fark var. Dosya1 aşağıdaki kodu var düşünün.cs:
// File1.cs
using System;
namespace Outer.Inner
{
class Foo
{
static void Bar()
{
double d = Math.PI;
}
}
}
Şimdi birisi başka bir dosyaya (DOSYA2.ekleyen düşünün cs) bu gibi görünen proje için:
// File2.cs
namespace Outer
{
class Math
{
}
}
Derleyici ad dışında using
Bu tablolara bakmadan önce Outer
arama System.Math
yerine Outer.Math
bulur. Ne yazık ki (ya da belki neyse ki?), Outer.Math
PI
Hiç bir üye var, Dosya1 şimdi bozuldu.
Eğer bu değişiklikler aşağıdaki gibidir: ad alanı bildirimi içinde using
// File1b.cs
namespace Outer.Inner
{
using System;
class Foo
{
static void Bar()
{
double d = Math.PI;
}
}
}
Şimdi derleyici Outer
, System.Math
ve her şey bulur aramadan önce System
arar.
Bazı Math
System
; buradaki amaç sadece bir tane var bu yana kullanıcı tanımlı bir sınıf için kötü bir isim olduğunu iddia ediyorumbir fark, ve bu kod sürdürülebilirliği etkiler.
Ayrıca ilginç Foo
ad olur Outer
yerine Outer.Inner
ne not. Bu durumda, File2 ekleme Outer.Math
using
nereye olursa olsun Dosya1 keser. Bu derleyici en içteki using
deyimler bakar önce ad alanı kapsayan arama anlamına gelir.
Return deyimi içinde veya bir kilidi d...
Ana gezinti içinde ve dışında <head...
Nasıl düğmeye tıklama Parçaları içinde...
Yinelemeli olarak kullanarak wget için...
Bir Blok dışında bir değişken bir Blok...