Рассмотрим этот метод:Есть ли способ получить общий тип из метода расширения?
public static TResult CastTo<T, TResult>(this T arg)
{
TypeConverter typeConverter = TypeDescriptor.GetConverter(typeof(T));
bool? converter = typeConverter?.CanConvertTo(typeof(TResult));
if (converter != null && converter == true)
return (TResult)typeConverter.ConvertTo(arg, typeof(TResult));
else
return default(TResult);
}
Есть ли способ, чтобы установить общий тип из метода расширения, я имею в виду, вместо того, чтобы позвонить:
string s = "1";
s.CastTo<string, int>();
что-то, чтобы получить тип входа непосредственно из класс, который звонит. Я довольно новичок в C#, и я хочу знать эту проблему.
Что вы пытаетесь достичь? – Steve
Проблема заключается в том, чтобы explicity объявлял тип ввода, я хочу знать, есть ли способ принять его inplicity из класса, который вызывает метод расширения –
Я не уверен, что понимаю, вы имеете в виду, что вам не нужно делать 'string s =" 1 "', или вы хотите получить тип '' '? – Steve