首页 > 解决方案 > 如何统一使用界面

问题描述

我做了一个如下所示的界面:

public interface Weapon
{
    void Shoot();
    float damage { get; set; }
}

我在另一个类中实现它,对于损坏字段,我有这样的东西:

   float Weapon.damage
    {
        get
        {
            return damage;
        }

        set
        {
            throw new NotImplementedException();
        }
    }

但是我怎样才能将 getter 用于 Weapon.damage ?我尝试过这样的事情:Weapon.damage.get() 但它没有用

任何帮助将不胜感激,谢谢!

标签: c#unity3d

解决方案


我同意 Code-Apprentice 的观点——你应该看看其他类和接口基础的例子。对于您的特定项目,您可以执行以下操作。我没有尝试编译它,但它应该让你接近

public interface IWeapon
{
    void Shoot();
    float Damage { get; }
}

public class Sword : IWeapon
{
    public void Shoot() { } //does nothing
    private float _damage { get; set; }
    public float Damage { get { return _damage; } }
    public Sword(int damage)
    {
        _damage = damage;
    }
}

推荐阅读