class constType
{
public static const Type messageType = typeof(int); // HOW TO DO THIS? 1st mark
public string[] GetArraySomehow()
{
return new string[sizeof(messageType)]; // HOW TO DO THIS? 2nd mark
}
}
class testTypeInClass
{
public void test(constType.messageType message) // HOW TO DO THIS? 3rd mark
{
}
}
好吧,這真是奇怪而奇怪我知道但我該怎麼做?如何將類型存儲爲變量並在參數類型中使用它們?
- 1日馬克:我不得不店INT的類型爲const變量,並用它laterç
- 第二個標誌:我必須讓存儲類型的大小(?多少字節做它等於)
- 第3個標記:我必須使用它作爲參數類型。
那麼爲什麼我必須這樣做這樣的事:
我必須存儲類型(不那麼寬,只是我知道我會用int8,16,32等) 和必須知道它究竟是什麼字節(1,2,4等)。
那麼首先我有我的一個類的方法,它使用switch語句和:
這樣的:
public string test (int messageIndex)
{
switch (messageIndex)
{
case 0:
return "etc.. etc..";
case 1231412:
return "whatever";
}
}
首先我有一些像這樣的方法:
public int fixForSwitchStatement(byte[] messageIndex)
{
byte[] RValue = new byte[4];
for (int i = 0; i <= messageIndex.Length - 1; i++)
{
RValue[i] = messageIndex[i];
}
for (int i = messageIndex.Length; i <= 4 - messageIndex.Length - 1; i++)
{
RValue[i] = 0;
}
return BitConverter.ToInt32(RValue, 0);
}
我正在傳遞字節或短切換語句,然後我轉換爲int(int是我指定的類型),我想重新設計這樣。
public string test (/* [what's the case limit? that I've determined?] */ messageIndex)
{
switch (messageIndex)
{
case 0:
return "etc.. etc..";
case 1231412:
return "whatever";
}
}
因爲我不想再使用fixSwitch ...方法。我只需要一個指定類型的所有這些概念。
爲什麼我必須使用fixSwitch而不是類似(int)somethingByte的類型轉換?
那麼在我的一個類中有一個叫做communicationSize的東西,它的messageIndex事件的最大字節數是我必須聲明的。這是爲我的服務器客戶端項目。有一個messageIndex被用作請求索引,它是服務器和客戶端之間的請求。我用字節限制它。用於保存連接的一些數據空間。
// still is being written
什麼是您的實際使用情況?我相信我們可以提供比這更好的方法。 – ken2k 2012-02-28 12:51:42
一些C語言的氣味:)你想在這裏實現什麼? – Tigran 2012-02-28 12:51:56
我不知道C順便說一句,這是我的第二語言(第一名是VB.NET)。很難解釋爲什麼我需要這樣的東西,但我正在去解釋。 – haxxoromer 2012-02-28 12:55:03