ConvertTo
    (
        ITypeDescriptorContext context,
        CultureInfo culture,
        Object value,
        Type destinationType
    )
    {
        Debug.Assert(value != null);
        Debug.Assert(value is WordMetricUserSettings);
        Debug.Assert( destinationType == typeof(String) );
        AssertValid();

        // Note:
        //
        // Earlier user settings type converter classes used a string of
        // ordered, tab-delimited values to persist the user settings.  That
        // was a brittle solution.  Newer classes, including this one, use an
        // unordered dictionary.

        WordMetricUserSettings oWordMetricUserSettings =
            (WordMetricUserSettings)value;

        PersistableStringDictionary oDictionary =
            new PersistableStringDictionary();

        oDictionary.Add(
            WordMetricUserSettings.TextColumnIsOnEdgeWorksheetKey,
            oWordMetricUserSettings.TextColumnIsOnEdgeWorksheet);

        oDictionary.Add(WordMetricUserSettings.TextColumnNameKey,
            oWordMetricUserSettings.TextColumnName);

        oDictionary.Add(WordMetricUserSettings.CountByGroupKey,
            oWordMetricUserSettings.CountByGroup);

        oDictionary.Add(WordMetricUserSettings.SkipSingleTermsKey,
            oWordMetricUserSettings.SkipSingleTerms);

        oDictionary.Add(WordMetricUserSettings.WordsToSkipKey,
            oWordMetricUserSettings.WordsToSkip);

        return ( oDictionary.ToString() );
    }
 SetUp()
 {
     m_oPersistableStringDictionary = new PersistableStringDictionary();
 }