我觉得自己像个傻瓜。我做编码员已经有一段时间了,我之前没有遇到过这种语言,我想,我一直在用“附加”的东西覆盖构造函数。所以,我截断了一些类解释:
public enum Flags : ushort
{
Item = 1,
Player = 2
}
public class Item
{
private Flags _flags;
private int _owner;
private String _pwd;
public Item(Flags flags, int owner, String pwd = null)
{
_owner = owner;
_flags = flags;
_pwd = pwd;
}
}
public class Connection
{
... stuff irrelevant to question
}
因此,当玩家登录时,我希望能够获取Item
具有 typePlayer
并具有连接的后代 - 实际上它只是一个项目。
所以我作为初学者这样做了:
public class Player : Item
{
public Connection Conn;
}
它说:
项目不包含采用 0 个参数的构造函数
好吧,在我眼里,我从来没有说过。。玩家永远不会被“创建”,只从项目中复制,一个现有项目,我正在添加一个额外的属性(并不是说这将作为我的代码保留) ,但这是一个起点).. 所以,我不想手动将实际的 20 多个属性从一个复制到另一个。实际上我希望能够使用
Player p = (Player)item_wanted;
然后为其分配一个连接..p Player
永远不会直接创建。我不想将连接分配给项目,因为它只是活跃的玩家,从技术上讲,一个玩家可以拥有多个连接。
当然,第一个愚蠢的想法是构造函数
Public Payer(Item i)
{
this = (Player) i;
}
是的,可悲的是不能这样做,可以吗?:( 但实际上,这几乎就是我想要的!
在你问之前,我确实考虑过将项目添加到连接中......但从逻辑上讲,你不会那样想的......
那么,我该如何绕过呢?我想添加一个属性并将其称为其他属性...
好的,我明白为什么它说关于讲师,很失望它没有与原始课程中可用的课程相匹配,但是很好,我明白了。但是,由于原始项目已经存在,我不想要副本。我想添加功能......我放弃了。这个问题可以关闭。**