我最近进入了C#/ Azure,并且遇到了一个我想解决的小问题。该应用程序按预期工作,但我想重构一堆类,因为我确信有一个更简单的解决方案。施放TableOperation的结果.Retrieve
我现在有一组函数来检索Azure的,只有在被检索的类型有所不同的实体,但最佳我只想要一个类,像这样:
public static Object Do(string RowKey, string partitionKey, string tableName)
{
var theTable = Connect.Initialize(tableName);
var retrieveOperation = TableOperation.Retrieve(
Base64.EncodeTo64(partitionKey),
Base64.EncodeTo64(RowKey));
var retrievedResult = theTable.Execute(retrieveOperation);
if (retrievedResult.Result != null) {
return retrievedResult.Result;
}
throw new ArgumentException(
String.Format("{0} not found in the Table", RowKey));
}
这本身,工作并检索所需的实体。但是,我无法在没有错误的情况下投射返回的对象。
我想将它转换为的对象类型实现TableEntity-Type并将结果与表格匹配。
我知道我可以施展它的
TableOperation.Retrieve<Type>(...)
感,但我真的想用一个单一的功能用于此目的,需要我丢在调用该函数。
我怀疑这个问题与结果是DynamicTableEntity类型的事实有关,但我为什么会迷失方向。
有没有什么办法可以很好地解决这个问题/有没有办法建立一个参数来保存我想要的类型作为结果? (我用“Type ...”尝试过,但不起作用)。
你有没有尝试使用通用类型?如: public static T Do(...){ ... TableOperation.Retrieve(...) } –
此API非常荒谬。 – Rookian