Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何创建一个通用类来处理输入文本字段中的所有输入_C#_Asp.net Mvc - Fatal编程技术网

C# 如何创建一个通用类来处理输入文本字段中的所有输入

C# 如何创建一个通用类来处理输入文本字段中的所有输入,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个名为Workflows和QueuesInializerService的对象,它在工作流中定义了队列,下一步它也会在给定指定调用结果的情况下路由。我有一个从名为CalculateDate的接口类继承的方法,该接口类将from step实例和next step timespan作为参数。我遇到的问题是,如果输入文本字段中有输入,通常可以覆盖到期日,而不需要跨多个类方法进行往返。我有一个名为NextStep的映射类,它有一个构造函数,该构造函数也采用到期日时间跨度。我想实现的是,在我的类表单实

我有一个名为Workflows和QueuesInializerService的对象,它在工作流中定义了队列,下一步它也会在给定指定调用结果的情况下路由。我有一个从名为CalculateDate的接口类继承的方法,该接口类将from step实例和next step timespan作为参数。我遇到的问题是,如果输入文本字段中有输入,通常可以覆盖到期日,而不需要跨多个类方法进行往返。我有一个名为NextStep的映射类,它有一个构造函数,该构造函数也采用到期日时间跨度。我想实现的是,在我的类表单实例中,我只想从输入文本框中传递一个值,然后重新计算duedate,而不需要所有的麻烦。有没有更简单的方法来实现这一点

public override void CollectFormValues(IFormValuesCollection values)
    {
        this.CalculatedShipDate = TypeConverter.ToNullableDateTime(values["CalculatedShipDate"]);
    }
上面是一个从HTTP POST检索表单值的方法

这是一个临时表单实例,这意味着我的应用程序不会自动将表单的值提交回数据库。通常,
CollectFormValues()
只将值保存到对象中,而不向数据库提交任何内容。但由于这是一种临时形式,因此此方法还负责将值保存回数据库

此外,我还有一个类,用于检索该类的实例,该实例应用于计算下一步实例的到期日期,如下所示:

public static IDueDateCalculator GetDueDateCalculator( string className )
    {
        if ( String.IsNullOrWhiteSpace( className ) )
            return new DefaultDueDateCalculator();

        Assembly assembly = typeof( IDueDateCalculator ).Assembly;
        Type calcType = assembly.GetType( className );
        return (IDueDateCalculator) Activator.CreateInstance( calcType );
    }

我不确定我的最佳解决方案是什么,因此我在这里寻求任何反馈和/或帮助。提前谢谢

如果我理解正确,您希望计算到期日期,但也希望允许用户覆盖它

所以这相当容易

这是VB,但是你应该能够理解

Class Something

    Private oDueDate As Nullable(Of DateTime) = Nothing

    Private Sub CalculateDueDate
        oDueDate = {some calculation between the date and timespans}
    End Sub



    Public Property DueDate As DateTime
        Get
            If (Nothing Is oDueDate) OrElse (Not oDueDate.HasValue) Then
                CalculateDueDate
            End If
            Return oDueDate
        End Get
        Set(value as DateTime)
            oDueDate = value
        End Set
    End Property

End Class