расширяющий валидацию общего типа с 'tryparse'
с целью проверки, придерживается ли данная строка для предварительно определенного типа, предпринимается попытка разработать общее расширение, используя 'tryparse'. Тем не менее, эти усилия столкнулись с препятствием для компиляции, поскольку «Tryparse» остается неразрешенным.
суть этого вопроса заключается в том, что «Tryparse» не инкапсулируется в любом узнаваемом границе раздела. Следовательно, возникает вопрос относительно осуществимости такой реализации.
одно потенциальное решение включает в себя использование класса TypedEscriptor, механизм, разработанный специально для этой цели. Включив этот класс, можно принять более надежный подход:
public static T Convert(this string input) { try { var converter = TypeDescriptor.GetConverter(typeof(T)); if (converter != null) { // Cast ConvertFromString(string text) : object to (T) return (T)converter.ConvertFromString(input); } return default(T); } catch (NotSupportedException) { return default(T); } }
] Этот обновленный подход может похвастаться несколькими преимуществами:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3