gpt4 book ai didi

c# - 有什么方法可以使用更多泛型来简化这段代码吗?

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:10 25 4
gpt4 key购买 nike

我试图简化它,但想不出一种方法来简化它。这些行有很多,我访问的每个表都有一个。有什么建议吗?

public static IAzureTable<Sequence> GetSequenceTable(string datastoreValue)
{
var sequenceTable = new AzureTable<Sequence>(GetStorageAccount(datastoreValue), "Sequences");
return (sequenceTable);
}
public static IAzureTable<Topic> GetTopicTable(string datastoreValue)
{
var topicTable = new AzureTable<Topic>(GetStorageAccount(datastoreValue), "Topics");
return (topicTable);
}
public static IAzureTable<Test> GetTestTable(string datastoreValue)
{
var testTable = new AzureTable<Test>(GetStorageAccount(datastoreValue), "Tests");
return (testTable);
}

这里有更多供引用。不是真的想改变这个,但我可以添加到它:

 public class AzureTable<T> : AzureTableBase<T>, IInitializer where T : TableServiceEntity
{

public AzureTable()
: this(CloudConfiguration.GetStorageAccount())
{
}

public AzureTable(CloudStorageAccount account)
: this(account, null)
{
}

public AzureTable(CloudStorageAccount account, string tableName)
: base(account, tableName)
{
}

最佳答案

这将删除 GetTable 系列方法的重复:

public static IAzureTable<T> GetTable<T>(string datastoreValue, string tableName) where T : TableServiceEntity    
{
return new AzureTable<T>(GetStorageAccount(datastoreValue), tableName);
}

你可以这样调用它:

var table = GetTable<Sequence>("DatastoreName", "Sequences");

关于c# - 有什么方法可以使用更多泛型来简化这段代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6556466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com