-1

在我的应用程序中,以下是 getter/setter:

    private string client { get { return ClientText.Text; } set { ClientText.Text=value;} }
    private string application { get { return ApplicationText.Text; } set { ApplicationText.Text = value; } }
    private string starttime { get { return StartTimeText.Text; } set { StartTimeText.Text = value; } }
    private string stoptime { get { return StopTimeText.Text; } set { StopTimeText.Text = value; } }
    private string task { get { return TaskText.Text; } set { TaskText.Text = value; } }
    private string project { get { return ProjectText.Text; } set { ProjectText.Text = value; } }

我想将这 6 个值传递给以下人员,

Harvest_TimeSheetEntry entry=new Harvest_TimeSheetEntry(string,string,DateTime,DateTime,int,int);

我应该如何转换这 6 个属性并传递给该函数/构造函数?

4

3 回答 3

1

目前尚不清楚您要求的是什么,但可能您需要类似的东西:

var entry = new Harvest_TimeSheetEntry() {
    client = ClientName,  //CLIENT NAME YOU INTEND TO PASS TO CTOR
    starttime = startDateTime.ToString()  //DATE TIME YOU INTEND TO PASS TO CTOR
     .....
}

如果这不是您要的,请澄清。

编辑

如果您面临的问题是从stringon UI 转换为实际数据类型需要构造一个类型的实例,在这种情况下您可以使用:

DateTime.Parse - 从字符串解析为DateTime格式

int.TryParse - 解析integer值。

于 2013-07-08T11:41:08.500 回答
1

转换的简单方法是这样做

DateTime dtStartTime = DateTime.Parse(starttime);
DateTime dtStopTime = DateTime.Parse(stoptime);
int intTask = Int32.Parse(task);
int intProject = Int32.Parse(project);

但是,这假定 DateTime 格式正确,task并且project是有效整数。您需要添加自己的错误处理,一个很好的方法是查看DateTime.TryParseDateTime.TryParseExact方法和Int32.TryParse方法。

例如,

int intTask;
if(Int32.TryParse(task, out intTask))
{
    //parse successful
}
else
   //parse unsuccessful
于 2013-07-08T11:48:35.750 回答
0

如果要将字符串转换为另一种数据类型,则可以使用一些选项,可用的方法也取决于目标类型。(值得一读)

在这种情况下,我推荐的功能是:DateTime.ParseExactint.Parse

以下是如何使用每种方法的示例:

int convertedInt = int.Parse(myIntString);

DateTime convertedDateTime = DateTime.ParseExact(myDateString, "dd/MM/yyyy", null);

然后,您可以将这些值传递给您的函数。

注意:我假设您的日期格式是dd/MM/yyyy-其他可用

重要的是要知道,如果任何一个字符串不是预期的格式,你就会得到一个异常。建议在调用这些方法之前验证您的输入字段。还值得注意的是,Try每个:DateTime.TryParseExact和都有可用的方法int.TryParse,如果格式无效,您可以采取措施。

于 2013-07-08T11:56:05.937 回答