C# 在IValueConverter中的Type targetType参数中输入什么

C# 在IValueConverter中的Type targetType参数中输入什么,c#,types,windows-phone-8,ivalueconverter,C#,Types,Windows Phone 8,Ivalueconverter,我正在通过代码隐藏调用IValueConverter类,但我不确定在Type targetType参数中放入什么。对象是string,但使用该对象会给出“无效的表达式术语”string”` 我的代码调用转换器 secondConverter.Convert(score, string, null, CultureInfo.CurrentCulture); 转换器类 public object Convert(object value, Type targetType, object p

我正在通过代码隐藏调用IValueConverter类,但我不确定在
Type targetType
参数中放入什么。对象是
string
,但使用该对象会给出“无效的表达式术语”string”`

我的代码调用转换器

secondConverter.Convert(score, string, null, CultureInfo.CurrentCulture);
转换器类

    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        TimeSpan ts = new TimeSpan(0, 0, (int)value);

        return String.Format("{0:D2}:{1:D2}:{2:D2}",
                        ts.Hours,
                        ts.Minutes,
                        ts.Seconds);
    }
您可以将
typeof(string)
替换为string,但是您的转换器似乎没有使用或验证目标类型,因此您可以在那里放置任何内容,包括null

通常,转换器至少应该验证目标类型是否为字符串,如果不是,则抛出异常。

您需要

secondConverter.Convert(score, typeof(string), null, CultureInfo.CurrentCulture);

若要使用
typeof(string)
将其实际设置为
type

类型的参数,则会给出“无法隐式地将type“object”转换为“string”。存在显式转换(是否缺少强制转换?)@PutraKg您的方法返回一个对象。你用这个值做什么?啊,我修正了使用一个对象变量作为返回对象,然后将它强制转换为string@PutraKg那么,一切都解决了?那么你应该在这里把alex的答案标记为答案。它比我的解释更好。=)