Question

Comment résumer ci-dessous les codes (i besoin refoctoring)

    public class mycollection
{
        private DateTime tarih;
        private int sira;
        private int visitingcount;

        public DateTime TARIH { get { return tarih; } set { tarih = value; } }
        public int SIRA { get { return sira; } set { sira = value; } }
        public int VISITINGCOUNT { get { return visitingcount; } set { visitingcount = value; } }
}

je l'ai utilisé cette classe ci-dessous

DataRow[] rows = dsChart.Tables[0].Select("TARIH>='" + DateGap1 + "' and TARIH<='" + DateGap2 + "'");

                                list = new List<mycollection>();
                                foreach (DataRow dr in rows)
                                {
                                    mycollection mycol = new mycollection();
                                    mycol.TARIH = Convert.ToDateTime(dr["TARIH"].ToString());
                                    mycol.SIRA = Convert.ToInt32(dr["SIRA"].ToString());
                                    mycol.VISITINGCOUNT = Convert.ToInt32(dr["VISITINGCOUNT"].ToString());
                                    list.Add(mycol);
                                }

j'ai besoin comme ça:

  public static void LoadDepartman(string departmanName)
        {
            List<StuffDepartman> li = new List<StuffDepartman>();
            GetDepartman departman = new GetDepartman();
            DataSet ds = departman.GetDepartmanA(departmanName);
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                li.Add(new StuffDepartman
                {
                    Name = dr["Name"].ToString(),
                    SurName = dr["SurName"].ToString(),
                    Address = dr["Address"].ToString(),
                    Phone = dr["Phone"].ToString(),
                    DepartmanName = dr["DepartmanName"].ToString(),
                    Salary =int.Parse( dr["Salary"].ToString()),
                    Married = dr["Married"].ToString()
                }
                );
            }
            HttpContext.Current.Session["Stuffs"] = li;

        }

Pas de solution correcte

Autres conseils

(Je ne comprends pas bien comment les deux premiers exemples se rapportent à la troisième ... ils ne semblent pas partager quelque chose en commun)

Alors ce qui brise actuellement? Le plus gros problème que je vois est que (IIRC) soit fiable utilisable avec Session (avec différentes implémentations de back-end) l'article doit être sérialisable (var BinaryFormatter), mais peut être aussi simple que le marquage mycollection avec [Serializable].

Pour info mycollection est un nom déroutant pour quelque chose qui est une entité de ligne , pas la collecte réelle - et si vous avez C # 3.0 vous pourrait simplifier les choses un peu avec des propriétés automattically mises en œuvre:

[Serializable]
public class SomeSensibleName
{
    public DateTime Tarih {get;set;}
    public int Sira {get;set;}
    public int VisitCount {get;set;}
}

Cependant; il est pas clair (à partir de votre code) si cela va changer quoi que ce soit. S'il vous plaît pouvez-vous préciser ce qui se passe actuellement?

Si je comprends bien, c'est le refactoring que vous recherchez:

DataRow[] rows = dsChart.Tables[0].Select("TARIH >='" + DateGap1 + "' and TARIH <='" + DateGap2 + "'");
List<mycollection> list = new List<mycollection>();
foreach (DataRow dr in rows)
{
    list.Add(new mycollection
    {   
      TARIH = Convert.ToDateTime(dr["TARIH"].ToString());
      SIRA = Convert.ToInt32(dr["SIRA"].ToString());
      VISITINGCOUNT = Convert.ToInt32(dr["VISITINGCOUNT"].ToString());
    });
}

Gardez à l'esprit que pour que cela fonctionne, vous devez exécuter le 3.x .NET Framework (VS2008).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top