要保持簡短:我想提出一個服務器程序的遊戲,我深化發展。 要控制我想要使用命令的服務器。類似於「/ Server Start 5555」。 這些命令以字符串格式發送到服務器。這是我的代碼:如何通過字符串正確處理自定義命令?
ServerCommandsClass ServerCommands = new ServerCommandsClass();
Type Service = typeof(ServerCommandsClass);
MethodInfo method = Service.GetMethod(Signals[Count].MessageArray[0]);
List<object> ObjectList = new List<object>();
for (int i = 1; i < Signals[Count].MessageArray.Length; i++)
{
ObjectList.Add(Signals[Count].MessageArray[i]);
}
string result = Convert.ToString(method.Invoke(ServerCommands, ObjectList.ToArray()));
它看起來凌亂,因爲它是...
基本上我得到的是一個類(SignalClass),存儲新消息/命令。首先,我確定一條消息是否是一條命令。如果是這樣,這個代碼就會運行。我的MessageArray使用string.split函數逐個字包含消息。
這工作,但我覺得這是一個有點變通。
我要的是一個命令的基礎設施(有點像我的世界),這是很容易適應我的需要。就像在我的世界裏,你可以輸入:「/ tp 1000 64 1000」和「/ tp someplayer 1000 64 1000」。在我的代碼中,你不能受到我的限制。我將不得不做一個新的方法「tp2」或某些東西能夠採取額外的參數。
我希望有人能幫助我解決這個問題,因爲它是非常惱人的。
b.t.w.我使用.Net 4.5.1來編程。如果我在某個地方有點模糊,請問我,我會澄清。
翁Dokter
謝謝大家的快速回答!但是如果我不使用字符串,那麼怎麼做呢? – Geoxion