Я хочу преобразовать int в определенный тип и затем вернуть строку, формат которой зависит от типа, в который я ее преобразовал.
У меня есть свойство, которое возвращает объект Type, и другое, которое я хочу вернуть строку, формат которой зависит от типа.
Почему компилятору не нравится код в HexString ниже?
Есть ли другой такой же краткий способ сделать это?
public class TestClass
{
private int value;
public bool signed;
public int nBytes;
public int Value { get {return value;} set {this.value = value;}}
public Type Type {
get {
switch (this.nBytes) {
case 1:
return (this.signed ? typeof(SByte) : typeof(Byte));
case 2:
return (this.signed ? typeof(Int16) : typeof(UInt16));
default:
return null;
}
}
}
public String HexString {
get {
//?? compiler error: "no overload for method 'ToString' takes '1' arguments
return (Convert.ChangeType(this.Value, this.Type)).ToString("X" + this.nBytes);
}
}
}