Вы также можете получить контекст из параметра inflater
при переопределении onCreateView
.
public static class MyFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
/* ... */
Context context = inflater.getContext();
/* ... */
}
}
Кортежи возникли в функциональном программировании. В (чисто) функциональном программировании все неизменяемо по замыслу - определенная переменная всегда имеет только одно определение, как в математике. Разработчики .NET мудро следовали тому же принципу при интеграции функционального стиля в C#/.NET, несмотря на то, что в конечном итоге это преимущественно императивный (гибридный?) язык.
Примечание: Хотя я подозреваю, что тот факт, что кортежи неизменяемы, на самом деле не сильно усложняет вашу задачу, есть также анонимные типы (или, возможно, просто простые struct), которые вы можете захотеть использовать.
Вы могли бы хотеть попытаться обновить, поскольку C# 7.0 представляет новая поддержка языка Кортежей , который (среди прочего) делает их изменяемыми. (Под капотом это использует ValueTuple, участники которого изменяемы.)