0
嗨,我不能与此代码管理。这个想法是在错误的创建方法执行的情况下返回默认的英文字母。谢谢。问题与铸造X <char>为x <t>
一个想法覆盖明确运营商是很好的,但我不能想象铸造的实现。
namespace trie
{
class AlphabetFactory<T> where T: IConvertible
{
public Alphabet<char> SetDefaultAlphabet()
{
var list = new char[26];
for (var i = Convert.ToInt32('a'); i <= Convert.ToInt32('z'); i++)
list[i] = Convert.ToChar(i);
return new Alphabet<char>(list);
}
public Alphabet<T> Create(params T[] list)
{
if (list != null)
return new Alphabet<T>(list);
else
return SetDefaultAlphabet(); // <- This is not correct
}
}
}
如果你把它叫做'新AlphabetFactory() .Create(空)'?我认为你在这里绊倒了你的设计。 –
2010-05-26 20:06:38
我不明白你要完成的任务。看起来你没有仔细考虑过你的问题。例如:如果你的'Create'方法被调用'T == int'和'名单== null',那么你想要什么回来?你不能在这种情况下返回字母,因为'T == int',你能吗?那又怎么样? – 2010-05-26 20:08:39
@Lasse:有趣的是,有人投了我的问题,虽然你被要求早两分钟,而且基本上是相同的。 :-) – 2010-05-26 20:37:51