Глядя на ваш код, пытаясь скомпилировать его, я не могу получить ошибку, которую вы получили.В моем случае ошибка не в double , а string , что является правильным, поскольку parts [0] является строкой.Ваш метод:
public MyStruct TheMethodIUSedForC(MyStruct t)
принимает MyStruct в качестве параметра, поэтому вы не можете передать parts [0] в качестве параметра, поскольку он имеет строковый тип.Он скомпилируется, если вы передадите, например. temp , который имеет тип MyStruct.Однако, вероятно, он не будет работать должным образом, поскольку поле bar еще не установлено.Измените:
if(parts[1] == "C")
{
TheMethodIUSedForC(parts[0]);
temp.bar= MyEnum.C;
}
на:
if(parts[1] == "C")
{
temp.bar= MyEnum.C;
TheMethodIUSedForC(temp);
}
, и это должно быть лучше.