如何最好地处理和公开我的类中的转换值

时间:2009-03-18 02:36:19

标签: c# architecture

在我的代码中,我从radiobuttonlist中获取所选索引的值。

问题是,在某些情况下我需要将它用作字符串,但其他情况我需要将其转换为Int32以便在某些方法中使用。

是否更好:

使用属性转换为int(稍后可能重用) 现在只需要一个需要它的方法转换为int

我认为私有属性将允许在内部重用多个方法。但是,如果只有一个方法确实需要它是一个整数,并且该方法通过将其作为字符串参数传递给该方法在几个调用中使用它,那么只需在该方法中进行转换并忘记将其作为私有属性公开假设有人可能希望稍后在此代码中的某些其他方法中使用它。

2 个答案:

答案 0 :(得分:1)

我认为这是模型视图控制器。视图将此值视为String,但模型中值的实际类型是整数。因此,您应将其存储为整数,然后根据模型客户端的需要将其转换为String视图。

答案 1 :(得分:0)

最好转换为int [并将其公开为]属性

一般来说,我会将该值作为我可以使用的最具体类型。

如果值始终具有整数表示,则只将其显示为整数属性。如果有人需要将其用作string,他们可以自己致电.ToString()将其转换回来。

private void UpdateValue()
{
   _selectedValue = Int32.Parse(GetSelectedValue());
}

private int _selectedValue;

public int SelectedValue
{
   get { return _selectedValue; }
}

在许多情况下,使用您的代码的人甚至不需要拨打.ToString(),例如:

string description = string.Format("Selected Value: {0}", obj.SelectedValue);