C++ dilinde yazılmış bir kitaplık geçirme sürecinde ve bir C# sarıcısına sahip oluyorum. C# sarıcı (LibWrapper
) gibi ad ile sınıfları kümesi vardır:İki adede aynı adla sınıf (kasıtlı olarak)
namespace MyNamespace
class MyClass
class MyOtherClass
Benim yeni kütüphane, LibraryCS
(kullanıcı şartının) LibWrapper
aynı ad alanları ve sınıf adlarını içeren, bu yüzden de vardır:
MyNamespace.MyClass
başvurmaya çalıştığınızda "MyNamespace.MyClass hem LibWrapper hem de LibraryCS içinde tanımlanır" yazan bir derleyici hatası (beklenen!) Alıyorum.
Bu sorunun çevresinde herhangi bir hile var mı, bu aynı adla iki sınıf kullanmamıza izin verecek, ancak aynı istemci kodundaki farklı derlemeler kullanılmasına izin verecek?
Alternatif olarak, bunu test etmenin başka bir yolu var mı?
Taşınan ad alanını MyNamespace2
gibi bir şeye yeniden adlandırma elbette işe yarayacak, ancak istemcinin kodunun taşınmasını kolaylaştırmak için bunu yapmamamız isteniyordu.
Başka bir ad alanında varolan sınıflardan birinin etrafına bir sarıcı yazmak iyi olur mu? – Goblin
Her ikisini de aynı test kodunda çalıştırabilirsem, kabul edilebilir. Sadece test amaçlı kullanılan bir ambalaj olacaktır. – pgb