Aşağıdaki senaryoda döngüsel başvurunun nasıl önleneceğinden emin değilim. Sorun, dairesel referans nedeniyle yığın akışdır. Bunu çözmek için Lazy veya başka bir yaklaşımı nasıl kullanırım? Konteyneri heryerden de geçmek istemiyorum.Unity 4.0 C kullanırken Dairesel referans C#
0
A
cevap
1
Bunu yapabilirsin:
public class MySocket : ISender
{
[Dependency]
public Lazy<IVehicleManager> VehicleManager { get; set; }
public void Connect()
{
Console.WriteLine("MySocket: Connect");
VehicleManager.Value.AddActiveConnection();
}
}
Ancak genel olarak, sen dairesel bağımlılıkları önlemek için gayret
. Uygulama alanınızı bilmiyorum amaMySocket
'un
IVehicleManager
'a bağlı olduğunu garip buluyorum. Bağımlılığı tersine çevirmeyi denemelisiniz, ör.
ISender
'da bir etkinliği göstererek.
0
Öncelikli yol, MyVehicleManager ve MySocket'ın türetildiği bir süper sınıf oluşturmaktır. Ya da önerdiğin gibi ya da bir fabrikayı tembelleştir.
İlgili konular
- 1. C# 4.0:
- 2. Varlık Framework Dairesel Referans
- 3. C# 4.0, Anında Yöntemler?
- 4. Projesi C# 4.0 özellikleri
- 5. C# 4.0 wpf'de GetWindowRect
- 6. Referans belirsiz amaç-c
- 7. C++: normal dizi referans
- 8. Kitap önerisi - C# .NET 4.0
- 9. Arduino C: readArms `referans tanımsız() '
- 10. Inherited C# Sınıfı "Referans" kaybediliyor
- 11. C++ 11 - rvalue referans değişkenler
- 12. Koleksiyona bir dairesel bağımlılık bulun C#
- 13. C++ - Alt/üst sınırlarla dairesel dizi?
- 14. Unity 2D C# garip hareket davranışı
- 15. Dairesel referans olmadan aynı kodu paylaşan birden fazla proje
- 16. C# 4.0 dinamik Office birlikte çalışma performansı
- 17. C# 4.0 app.config içindeki bölümleri nasıl kullanırsınız?
- 18. DataGridView C# 4.0 Uygulamamda maksimum sütun boyutu
- 19. C# Kanca Global Klavye Olayları - .net 4.0
- 20. En ++ C++ 11 sınıfı C++ 11 referans veya değer olarak
- 21. eksik montaj referans Microsoft.Practices.EnterpriseLibrary/.NET 4.0
- 22. referans olarak nesneyi Geçme :: C++ 11
- 23. C++ şablonu yerel sayıları referans olarak göster
- 24. Referans shell32 tekrar, C# Visual Studio
- 25. Bu bir C# 4.0 derleyici isteğe bağlı parametreleri hata mı?
- 26. JndiException, persistent.xml kullanırken Tomcat 7 ile Hibernate 4.0 kullanırken
- 27. Unity
- 28. UnsatisfiedLinkError: n_Mat android 4.0 ile opencv2.4.3 kullanırken
- 29. C ile Unity'de 2D oyun tahtası/ızgara oluşturma C#
- 30. Derleyici, strptime işlevini kullanırken uyarı alır (C)
Tembel'i denedim ancak ISender her zaman MyVehicleManager'da boştur. Lazy'i düzgün veya facotry'yi nasıl kullanırım. Hiç bir fikrim yok. – pats