Изменить значение Int32 на String

sarak23

Ребзя, привет. Сразу напишу, что я не программист ни разу:)
Но задача вынуждает чутка перекомпилировать одну простейшую библиотеку.
Есть конвертер с кодом
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Data;
using System.Globalization;

namespace TEST.INC.Converters
{
public class PrioColorConverter : IValueConverter
{
private static readonly PrioColorConverter _default = new PrioColorConverter;

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if value != null
{
if (value is Int32)
{
Int32 prio = Int32.Parse(value.ToString;
switch (prio)
{
case (0):
return "Red";
case (1):
return "Red";
case (2):
return "Red";
case (3):
return "Yellow";
case (4):
return "Yellow";
case (5):
return "Green";
case (6):
return "Green";
case (7):
return "Green";
case (8):
return "Green";
case (9):
return "Green";
default:
return "White";
}
}
}
return "White";
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotSupportedException;
}

public static PrioColorConverter Default
{
get
{
PrioColorConverter converter;
converter = _default;
return converter;
}
}

}
}

Требуется изменить возможность входных данных вместо простого "Int32" в "String".
При это сохранить возвращения цветов (white, green, red, yellow). Но вместо значений от 0 до 9 на входе будут стринговые значения (типа zero, one, two и т.д.)
Может подскажут форумские гуру c#? Очень помогли бы.

Dasar


public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if value != null
{
if (value is Int32)
{
Int32 prio = (Int32)value;
switch (prio)
{
case 0:
case 1:
case 2:
return "Red";
case 3:
case 4:
return "Yellow";
case 5:
case 6:
case 7:
case 8:
case 9:
return "Green";
default:
return "White";
}
}
if (value is string)
{
switch string)value)
{
case "zero":
case "one":
case "two":
return "Red";

//bla-bla

case "nine":
return "Green";
default:
return "White";
}
}
}
return "White";
}

ivanivan

if (value is Int32)
{
Int32 prio = Int32.Parse(value.ToString;
Это божественно

Dasar

Вот еще:

PrioColorConverter converter;
converter = _default;
return converter;

sarak23

Спасибо:)
Оставить комментарий
Имя или ник:
Комментарий: