Bunun bir dinamit fikri olduğunu ve sahip olmayı çok istediğim bir özellik olduğunu düşünüyorum! Bu özellik ile nasıl bir arayüz oluşturmak istediğinizi düşündünüz mü?
Var olan örneklerin, yeniden derleme tarafından değişmeden kalmasını beklediğiniz varsayılıyor mu? Bu, aynı prototipi sakladıkları sürece işlevlerde daha kolay olurdu gibi görünüyor, ancak sınıflarla bunu yapmak dağınık gibi görünüyor.
Ayrıca, iş parçacığı hakkında ne yapmalı?
Thread.start(wait 1; bar();); // bar is a function
compiler.Recompile(bar, '/some/path/myapp/newsrc/bar.blah');
Derlememizde, derlemede "bar" aramaya başladığımızı söyleriz. Yeniden derleme yapılana kadar arama engelleme yapılıyor ve yeni işlevi çağırıyor mu? Derleme tamamlanana kadar eski işlev hala var mı? Bir fonksiyon göstericimiz varsa, yeniden derlemeden sonra, nereye işaret eder? Orijinal işlevine veya yenisine mi?
Bunun bir boğazda nasıl uygulanabileceğine dair herhangi bir fikri var mı?
Bunu nesnelerle yapacağım. Buradaki fikir, güncellenebilir nesnelerde kod çalışmadığında güncellenmemizdir. Daha sonra tüm örnekleri serileştiririz ve güncelle ve tekrar bağlarız. Ardından, tüm örnekleri yeniden oluşturun, tüm işaretçileri deserialize edin ve güncelleyin. Voila, kek parçası :-) – BarsMonster