相关疑难解决方法(0)

检查对象是否是Swift中的给定类型

我有一个由数组组成的数组AnyObject.我想迭代它,并找到所有元素作为数组实例.

如何在Swift中检查对象是否属于给定类型?

type-inference typechecking swift

251
推荐指数
10
解决办法
18万
查看次数

是否可以使用派生参数而不是基础参数覆盖方法?

我陷入了这种情况:

  1. 我有一个抽象的类Ammo,有AmmoBoxClip作为孩子.
  2. 我有一个抽象的类Weapon,有FirearmMelee作为孩子.
  3. Firearm是抽象的,ClipWeaponShellWeapon孩子一样.
  4. 在里面Firearm,有一个void Reload(Ammo ammo);

问题是,a ClipWeapon可以使用a Clip和an AmmoBox来重新加载:

public override void Reload(Ammo ammo)
{
    if (ammo is Clip)
    {
        SwapClips(ammo as Clip);
    }
    else if (ammo is AmmoBox)
    {
        var ammoBox = ammo as AmmoBox;
        // AddBullets returns how many bullets has left from its parameter
        ammoBox.Set(clip.AddBullets(ammoBox.nBullets));
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,a ShellWeapon,只能用一个AmmoBox来重装.我能做到这一点: …

c# inheritance abstract-class overriding

13
推荐指数
1
解决办法
8572
查看次数