c# - 如何统一使用界面
问题描述
我做了一个如下所示的界面:
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() 但它没有用
任何帮助将不胜感激,谢谢!
解决方案
我同意 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;
}
}
推荐阅读
- momentjs - 在 vaadin 图表 4.0 中包含 moment.js 以设置轴格式
- url - Postman 如何通过从各种 .txt 文件中读取 URL 来使用 Get Requests
- python - 在 Django 2.0 中从 SQLite 迁移到 Postgresql 时 UUID 的一些问题
- php - 在变量中使用破折号 (-) 时出现 PDO 错误
- excel - VBA - 用冒号格式化时间戳
- java - 运行 MARIONETTE 而不是 gecko
- ios - 更改 iOS 呼叫警报上的电话号码格式化程序
- postgresql - Google Compute Engine 无法将我的 Go 应用程序连接到 PostgreSQL 基础
- android - 如何减少 TextView 中存在单个长文本的行之间的间距
- delphi - 使用 'dcc32 -JL' 编译时从另一个包中的另一个单元访问 Delphi 方法指针