Я пытаюсь определить тип, который является Tuple <int, Tuple <int, int>>
. Что у меня есть, это класс с именем Tile
, где я определить некоторые параметры, как это:Определение кортежа в C#
public class Tile
{
public readonly int producerId;
public readonly int level;
public class Id : Tuple<int, Tuple<int, int>>
{
}
public class TId : Tuple<int, Tuple<int, int>>
{
}
}
Проблема заключается в том, что VS говорит мне это для TId
и Id
:
Там не аргумент, учитывая, что соответствует к требуемому формальному параметру 'item1' '
Tuple< int, Tuple< int, int>>.Tuple(int, Tuple<int, int>)
'.
Я не совсем понимаю, что здесь происходит. Должен ли я определять этот тип по-другому? Спасибо за помощь!
Вы действительно намерены сделать 'Id' и' TId' внутренних классов ' Tile'? Основываясь на их именах, я должен задаться вопросом, могли ли вы означать, что они являются свойствами 'Tile'. Предполагая это _is_, что вы хотите сделать, проблема в том, что 'Id' и' TId' не вызывают конструктор базового класса. –
FYI есть ['Tuple'] (https://msdn.microsoft.com/en-us/library/dd387150 (v = vs.110) .aspx) класс, который вы могли бы использовать вместо вложенности. –
juharr
Вы также должны получить свой словарный запас. У вас нет _parameter_ в вашем классе выше, но _fields_. [Эта ссылка] (https://msdn.microsoft.com/en-us/library/ms173113.aspx) может дать вам обзор членов класса. –