ı C# Inherited
sıralamakta istiyorum ama yapı kalıtım C# çalışmıyorC# dizme C++ yapı kalıtım
struct Base
{
USHORT size;
}
struct Inherited : public Base
{
BYTE type;
}
++ ı C aşağıdaki yapılar var diyelim. Aşağıdaki uygun mu?
public interface IBase
{
ushort Size { get; set; }
}
[StructLayout(LayoutKind.Sequential)]
public struct Inherited : IBase
{
public ushort Size { get; set; }
public byte Type { get; set; }
}
Burada sorunu basitleştirilmiş ve benim yapılar yolu büyük zorluk sonuçları doğrulamak için yapım vardır. Ayrıca, yapılar, çok iyi belgelenmemiş başka bir yazılımdan geliyor ve sonuçları doğrulamak daha da zorlaştırıyor. C++ 'da miras kullanırken, çocuk yapısı öncesi veya sonrası temel sınıf alanları mı?
IBase
'u, mevcut olacak temel alanları zorlamak için kullanıyorum.
Ne yazık ki, C++ tarafında denetimim yok (entegre ettiğim harici bir sistem için SDK).
Sanırım temel yapının ilk olarak C++ bellek düzeninde gelmesini beklemek mantıksız değil (sanırım standart değil). Bunu denediniz mi? –
@TheodorosChatzigiannakis Elbette kodu denedim ve koştum ama dediğim gibi: "[...] yapılarım, sonuçları doğrulamakta zorlanıyorlar." Bu yüzden hipotezimi doğrulamaya çalışıyorum. Girdiğin için teşekkürler! – KOTIX
Muhtemelen özellikler yerine alanlar kullanıyor olmalısınız, ancak bunun işe yarayıp yaramadığını bilmiyorum. –