構造体を使用した継承でジェネリックを使用しようとしています。参照してください。
public class AuditLogEntry : ObjectBase<AuditLogEntry.AuditLogEntryStruct>
{
private struct AuditLogEntryStruct
{
public int AuditID;
}
}
public abstract class ObjectBase<T>
{
}
次のエラーがスローされるため、構造体にプライベートを使用できません: Inconsistent accessibility: base class 'ObjectBaseAuditLogEntry.AuditLogEntryStruct>' is lessaccessible than class 'AuditLogEntry'.
ただし、構造体を公開したくありません。何か案は?ありがとう、アレックス
質問の続き:
これが私たちがやろうとしていることです:
class AuditLogEntry : ObjectBase<AuditLogEntry.AuditLogEntryStruct>
{
internal struct AuditLogEntryStruct
{
public int AuditID;
}
public int AuditID
{
get
{
return udtObject.AuditID;
}
set{
BeginEdit();
udtObject.AuditID = value;
}
}
class ObjectBase<T>
{
protected T udtObject;
protected T udtPreEditObject;
protected void BeginEdit()
{
if (!IsDirty)
{
IsDirty = true;
udtPreEditObject = udtObject;
}
}
}
AuditLogEntryStruct を公開する中でこれを達成する方法がわかりませんか? ありがとう、アレックス