我正在尝试在结构继承中使用泛型,请参阅。
public class AuditLogEntry : ObjectBase<AuditLogEntry.AuditLogEntryStruct>
{
private struct AuditLogEntryStruct
{
public int AuditID;
}
}
public abstract class ObjectBase<T>
{
}
它不会让我对我的结构使用私有,因为它会引发错误:不一致的可访问性:基类“ObjectBaseAuditLogEntry.AuditLogEntryStruct>”比类“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 中实现这一目标?谢谢,亚历克斯