我正在制作一个包含多种二叉树的程序.所以我决定创建一个抽象类,以避免复制代码.但是存在一个问题,每棵树的节点需要包含与节点本身类型相同的子节点.有没有办法在摘要中定义它,或者我应该为每种类型制作不同的类?
public abstract class BinaryNodeAbstract<T>
{
public T Value;
public BinaryNodeAbstract<T> Left;
public BinaryNodeAbstract<T> Right;
Run Code Online (Sandbox Code Playgroud)
现在的方式,节点可以是任何类型的BinaryNode.这是需要避免的.
我刚刚了解到switch语句不能使用非恒定条件。一切都很好,我明白了。但这真的意味着我必须大做文章吗?我哭的很丑。
一些上下文:我正在做一个Unity项目,我想打开当前动画状态。检查当前动画状态的一种好方法是比较哈希,这意味着我需要计算动画状态的哈希。计算完它们后,我想打开它们。(写这篇文章时,我意识到我可以将生成的哈希值粘贴到一个常量中,但是现在我仍然想要一个答案)
int state1 = Animator.StringToHash("State1");
int state2 = Animator.StringToHash("State2");
int hash = _myAnimator.GetCurrentAnimatorStateInfo(0).shortNameHash;
switch (hash):
{
case state1:
//DoStuff
break;
case state2:
//Other stuff
break;
}
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么?
我正在尝试获得一个产品,包括它所属的类别.课程类别包含许多产品,产品属于同一类别.我是这样做的.
Product.find({include: 'Categories'})
Run Code Online (Sandbox Code Playgroud)
当我尝试执行此查询时,出现错误."关系"类别"未定义为产品型号".
我根据这里找到的环回文档定义了这种关系:https://docs.strongloop.com/display/public/LB/HasMany+relations.由于一个类别有很多产品.看起来如下:
category.json
"relations": {
"products": {
"type": "hasMany",
"model": "Product",
"foreignKey": "categoryId"
}
},
Run Code Online (Sandbox Code Playgroud)
products.json中没有定义任何内容.我已经检查了复数当然,但他们都检查了.
当我尝试获取所有类别的所有产品时,它的工作没有问题.我很确定这是有意的.但我怎么能这样做呢?我已经尝试在Product中定义一个关系,如下所示:https ://docs.strongloop.com/display/public/LB/HasOne+relations .但这需要在另一个对象中使用外键,因此显然只是用于一对一的关系.除此之外,我有点难过......有什么想法吗?