【发布时间】:2013-08-28 12:28:56
【问题描述】:
我正在尝试实现ITableEntity 接口,以便可以在其上添加[DataContract] 属性。但是如果我自己实现这个接口,我就必须给ReadEntity 和WriteEntity 方法一个body。
但是有一个类已经实现了ITableEntity 接口,并给ReadEntity 和WriteEntity 方法提供了一个主体,即TableEntity.cs。
如何让我的接口实现使用TableEntity 类中的方法?
[编辑]
[DataContract]
public class SerializableTableEntity : ITableEntity
{
private TableEntity tableEntity;
public string ETag { get; set; }
public string PartitionKey { get; set; }
public string RowKey { get; set; }
public DateTimeOffset Timestamp { get; set; }
public SerializableTableEntity()
{
tableEntity = new TableEntity();
}
public void ReadEntity(IDictionary<string, EntityProperty> properties, Microsoft.WindowsAzure.Storage.OperationContext operationContext)
{
tableEntity.ReadEntity(properties, operationContext);
}
public IDictionary<string, EntityProperty> WriteEntity(Microsoft.WindowsAzure.Storage.OperationContext operationContext)
{
return tableEntity.WriteEntity(operationContext);
}
}
【问题讨论】:
-
也许我不明白你的问题,但你想从类
TableEntity派生,即让那个类成为你类的基类吗?因为如果这样做,您将“免费”继承方法和接口。 -
嗨,这就是我最初所做的,但我需要能够序列化
TableEntity类,并且TableEntity类没有在类上装饰的[DataContract]属性。所以我坚持创建自己的实现。