C# 如何将不同的请求对象传递给相同的方法进行格式化?

C# 如何将不同的请求对象传递给相同的方法进行格式化?,c#,C#,编辑问题:这应该是清楚的 using System; namespace UpdateDateTimeFields { class Program { static void Main(string[] args) { string dateTimeFormat = "dd/MM/yyy HH:mm:ss"; DateTime time = Date

编辑问题:这应该是清楚的

        using System;

        namespace UpdateDateTimeFields
        {
        class Program
        {
        static void Main(string[] args)
        {
        string dateTimeFormat = "dd/MM/yyy HH:mm:ss";

        DateTime time = DateTime.Now;
        Update(time, dateTimeFormat);  //Should update time


        movemnet mymove = new movemnet();
        mymove.FromDate = DateTime.Now;
        mymove.ToDate = DateTime.Now;
        mymove.Name = "Test_Movement";
        Update(mymove, dateTimeFormat); //should update FromDate, ToDate

        ParentClass cls = new ParentClass();
        cls.mv.FromDate = DateTime.Now;
        cls.mv.ToDate = DateTime.Now;
        cls.CurrentDate = DateTime.Now;
        cls.Comment = "ParentClass_Comment";
        Update(cls, dateTimeFormat); //should update FromDate, ToDate, CurrentDate

    }

    private static void Update<T>(T Request, string format)
    {
       // How can this be acheived ???

        //tried with Using Reflection to Get and Set values of Properties - NO JOY !!!
    }
}

internal class movemnet
{
    public DateTime FromDate { get; set; }
    public DateTime ToDate { get; set; }
    public string Name { get; set; }
}
internal class ParentClass
{
    public movemnet mv { get; set; }
    public DateTime CurrentDate { get; set; }
    public string Comment { get; set; }
}

}你不应该这样做。如果希望类以特定格式公开属性,则应该让类这样做。您不应该公开类的任何字段。在您的思想和代码中,应该将数据本身和数据视图分开

您绝对不应该使用反射来迭代类中的每个字段,检查DateTime的类型并设置格式。你绝对不应该做像

var fields = req1.GetType().GetFields( 
   BindingFlags.Instance | BindingFlags.NonPublic )
  .Where( f=> f.FieldType == typeof( DateTime ) );

我一输入那个代码就觉得脏兮兮的

我不清楚问题是什么-根据主题指定类型参数,或者在对象的字段上循环,在这种情况下使用request.GetType和type.GetFiles.Agreed;如前所述,这是一个相当模糊的问题。