Proje 2'de (C# Windows Form) bazı Project 1 (VB.NET) kodlarını kullanmak istiyorum ve bunun tersi de geçerlidir. Dairesel referans oluşturamadığımızı biliyorum, ancak bunu başarabileceğimiz başka bir yol var mı?Kullanım Döngülü başvuru
cevap
İlk olarak, dairesel başvuru yanlış tasarım anlamına gelir. hem denir işlevlere sahiptir,
1. Özü "dairesel" kod Genelde
başka kütüphane oluşturmak: Eğer böyle bir şey gerekiyorsa, bu yöntemlerden birini kullanarak tasarımınızı değiştirmelisiniz "dairesel" kütüphaneler. Daha sonra hem Project1 hem de Project2'yi yeni oluşturulan Project3'e bağımlı hale getirin.
2. geri aramaları
olun sadece bir lib ikinci bağımlı - kodunuzdan herhangi Örneğin olmadan, tek bir diğerine bağlı olması gereken karar vermek zor, ama dan "Windows Form" Ben Project2'nin Project1'e bağımlı olması daha iyi olurdu. Yani, Project2'nin Project1'in her şeyi bildiği anlamına gelir. Ve sonra, Project1'den Project2'ye bir şey çağırmanız gerekirse, başlatma sırasında sadece geri çağırma sağlayın. E.g. Proje1, bazı uzun hesaplamalar yapan ve yapıldığında bilgilendirilmek istediğiniz işlevi içerir. Tamam sorun değil. Project2 işlemi geri arama ile başlatır (delegeleri arayın) ve kendi çalışmasıyla devam eder. Project1'deki işlev bittiğinde, Project2'den çağrılan geri çağırma işlevini kullanır (bu işlevi bilmese bile, fakat derleyici gerekli olmadığından, "uyumsuz" işlevi geri arama olarak sağlanamaz). Herhangi bir kod parçası sağlamadığınız için size daha fazla tavsiyede bulunmak zordur. Daha fazla yardıma ihtiyacınız varsa, lütfen basitleştirilmiş bir örnekle sorunuzu güncelleyin.
İki form projeme bir göz atın. Ana formun örneğini çocuk formuna iletiyorum, böylece iki form aralarında veri gönderebilir: http://stackoverflow.com/questions/36251695/c-sharp-reference-two-forms – jdweng
Tamam, kod biraz dağınık, ama anladığım kadarıyla veri paylaşmak istemiyorsun. Sadece Form2'nin Form1'den listeyi görüntülemesini istiyorsunuz. Bu, dairesel referans için hiç de geçerli değildir. Form1 yapıcıyı Form1'den parametre olarak almak için al ve bunu al. – Zoka
- 1. İki döngülü dal (symfony olmayan)
- 2. Kullanım
- 3. Kullanım
- 4. evrensel başvuru vs const başvuru önceliği?
- 5. ADFS v2.0: başvuru numarası başvurulan başvuru hataları
- 6. Başvuru REHBERİ
- 7. çapraz başvuru
- 8. tanımsız başvuru
- 9. nesne başvuru
- 10. Kullanım modelinde kullanım amacını nasıl açıklayabiliriz?
- 11. Kullanım amaçlı JavaScript Kullanım Tablosu Tuşa basın
- 12. Kullanım jQuery
- 13. Tek kullanım
- 14. Kullanım yansıması
- 15. Kullanım EntityManager
- 16. Kullanım JPEG
- 17. Kullanım FileSystemWatcher
- 18. Kullanım AlanlarıLokal
- 19. Kullanım AppRTC
- 20. Kullanım dönüştürücü
- 21. uygun kullanım
- 22. Kullanım jquery
- 23. GitHub sorunları - başvuru Repo dosyasında bir dosya başvuru
- 24. (.text + 0x20): "ana" ve tanımsız başvuru referansı için tanımsız başvuru
- 25. şablon işlevine tanımsız başvuru
- 26. Başvuru MapView SupportMapFragment
- 27. WiX çözümlenmemiş başvuru hatası
- 28. Başvuru dizini Wix
- 29. gr ++ -lglfw3 "Tanımsız başvuru"
- 30. Varlık Çerçeve, başvuru kısıtlaması
C# projesi UI parçası iken VB.NET projesi iş mantığı ile anlaşma varsayalım? Eğer öyleyse, UI mantığını iş sınıfına alırsanız çok yanlış bir şey var. Bu, üçüncü projede proje 1 ve 2. – Martheen
+1'deki tüm sınıflara atıfta bulunan üçüncü bir proje oluşturabileceğinizi söyledi. Bu ikisine referans veren üçüncü ya da ikisinden de referans almak istediğiniz her şeyden çıkarınız. – Claudius