Ne zaman C# extern alias
anahtar sözcüğünü kullanmalıyız?C# kelimesinde extern alias anahtar sözcüğünü ne zaman kullanmalıyız?
cevap
Temel olarak, yalnızca farklı derlemelerdeki aynı tam nitelikli adla (aynı ad alanı, aynı tür adı) iki tür kullanmak istediğinizde gerçekten buna ihtiyacınız vardır. Her bir derleme için farklı bir takma ad bildirirsiniz, böylece bu takma adla onlara başvurabilirsiniz.
Tabii
sen :)Anson Horton ile başlamak için bu durumla karşılaşmaktan kaçınmak için çalışmalısınız, demek bu konuda good blog post sahiptir.
Eklemek gerekirse - ekledikten sonra bile comsumer * .cs dosyasının üstündeki diğer ad bildirimi, derleyici varsayılan olarak kullanıyorum türünü (bu derlemede mevcut olan) aramaz .Compiler'ın varsayılan davranışı her zaman geçerli sınıfları ve türleri aramaktır. ve 'global' takma adlarına sahip başvurulan derlemeler. extern takma adıyla başlayan tam nitelikli bir tür adı kullanarak son bulurum. extern alias bildirimi 'extern alias WidgetsVendor1; ve hala kod yazıyordum var wid = new WidgetsVendor1.Widgets.Widget();'. Basitçe yapamam -var wid = new Widgets.Widget() ; – RBT
@RBT: Hayır, yalnızca * * takma adlar *. Ama sonra WidgetsVendor1.Widgets kullanarak '' yazabilir ve 'var wid = new Widget();' yazabilirsiniz. –
ohh. İlginç! Bunu bilmiyordum. Sabahları yaptığım gözlemime dayanarak yorumlarımı yayınladım. Bunu bilmek iyi. İsim-alanı içindeki ad alanlarını 'using' anahtar sözcüğünü kullanarak aktarabilirim. Teşekkürler. – RBT
Versiyonlama ile kendinizi gerçekten derin bir delikten çıkarmanıza yardım etmek için var. Programınızın ilk sürümünün bu sınıfı
kullandığını ve bununla birlikte çok sayıda banka hesabı kaydının serileştirdiğini söyleyin. Ve bir muhasebeci bir kuruş milyarda kapalı olma bilanço şikayet başlar, bu yüzden sınıf değiştirin: Bir sonraki müşteri mutlu bilançolarını vardır çözüldü
public decimal Balance { get; set; }
Sorun. Varolan bir müşteriyi eski biçimde çok sayıda seri hale getirilmiş kayıtlarla yükseltmeniz istenene kadar. Büyük sorun, sınıf değiştiği için artık kayıtları kaldıramazsın.
extern diğer adınız sorunu çözer, ad alanı adları ve sınıf adları aynı olsa bile, hem eski sürümü hem de kodunuzun sınıfının yeni sürümüne başvurabilirsiniz.
Dıştan takma ad kullanmak için çok kapsamlı kullanım durumu. – RBT
- 1. "++" anahtar sözcüğünü tam olarak ne yaparsınız?
- 2. C++: extern ve satır içi işlevler
- 3. C++ extern eşittir C#
- 4. Bir başlık dosyasındaki 'anahtar sözcüğünü kullanarak C++' kullanmak yanlış mı?
- 5. Anahtar kelimemiz ne zaman gereklidir?
- 6. Git anahtar sözcüğünü kullanmadığımda bir işlev çalışmıyor
- 7. "extern const" ile "extern" sadece
- 8. XML belgelerinde C# anahtar sözcüğünü nasıl referans alabilirim?
- 9. C anahtarında const anahtar sözcüğünü en iyi nasıl kullanırım?
- 10. Rust'ta extern fn ve extern "C" fn arasındaki fark nedir?
- 11. "-" anahtar sözcüğünü kullanarak bir dizgi nasıl bölüştürülür? "-"
- 12. JOIN anahtar sözcüğünü kullanarak birleşim yapabilir miyim?
- 13. Paragraf anahtar sözcüğünü bir temsilcide kullanabilir misiniz?
- 14. Objective-C 'kendini' ne zaman kullanılır
- 15. Linq ile .NET 4 dinamik anahtar sözcüğünü kullanmanın güzel örnekleri?
- 16. Vektörler ne zaman kullanılır ve C++ dizini ne zaman kullanılır?
- 17. Alias
- 18. QtScript vs QJSEngine ne zaman kullanılmalı?
- 19. SQL Server bağlantısını kullanarak anahtar sözcüğünü kapatmam gerekiyor mu?
- 20. Harici takma adlar C# içinde hangi amaca hizmet eder?
- 21. Groovy String.toURL kullanımdan kaldırıldı - bunun yerine neden ve ne kullanmalıyız?
- 22. iOS'ta hangi libiconv'u kullanmalıyız?
- 23. Bu extern "C" nin nasıl algılandığı
- 24. extern "Statik geri çağırma fonksiyonu için" C "
- 25. extern enum
- 26. Ne Request.Params ["anahtar"] ne yapar?
- 27. SSL Sertifika üzerinde Tomcat - Alias adı bir anahtar tanımıyor
- 28. Oluşturucu özel durum işleme ve bu anahtar sözcüğünü kullanarak Java
- 29. Visual Studio 2010'da 'auto' anahtar sözcüğünü kullanan performans cezası
- 30. C# Task gerçekte ne zaman başlıyor?
@masoud ramezani +1 bu soruyla ilgili olarak ... –
Bu konuyla ilgili bir makale: http://en.csharp-online.net/ECMA-334:_16.3_Extern_alias_directives –