List yada benzeri yapılar kullanırken Contains metodu kullanıldığında basit tiplerde problem yaşanmamasına rağmen eğer kendi entity sınıfılarınızı kullanıyorsanız problemle karşılaşabilirsiniz.
Örneğin
public class entMenuGrup
{
public string Adi { get; set; }
public int Zorunlu { get; set; }
}
şeklinde bir sınıfınız var ve bunu bir listeye ekleyeceksiniz. Ancak listede varsa eklemesin istiyorsunuz.
List<entMenuGrup> liste = new List<entMenuGrup>();
foreach (DataRow rw in this.pdtListe.Rows)
{
string adi = rw["MENU_GRUP_ADI"].ToString();
int zorunlu = Helper.ToIntDefault(rw["ZORUNLU"]);
entMenuGrup grup = new entMenuGrup() { Adi = adi, Zorunlu = zorunlu };
if (this.pGruplar.Contains(grup) == false)
{
this.pGruplar.Add(grup);
}
}
burada eğer entMenuGrup sınıfında IEquatable interface i uygulanmamışsa istediğiniz sonucu almanız biraz zor. Sınıfın olması gereken şekli
public class entMenuGrup:IEquatable<entMenuGrup>
{
public string Adi { get; set; }
public int Zorunlu { get; set; }
#region IEquatable<entMenuGrup> Members
public bool Equals(entMenuGrup other)
{
if (this.Adi == other.Adi)
return true;
else
return false;
}
#endregion
}
14 Aralık 2012 Cuma
21 Kasım 2012 Çarşamba
ASP.NET Server.MapPath
ASP.NET uygulamalarında bir path'in sistemdeki karşılığını almak için duruma göre değişen yöntemler kullanılabilir.
Eğer elimizde bir request var ise bu durumda HttpContext.Current.Server.MapPath("~/dizin yada dosya adı") şeklinde kullanılabilir. Fakat elimizde bir request yoksa bu durumda System.Web.Hosting.HostingEnvironment.MapPath("~/dizin yada dosya adı ") şeklinde kullanmak gerekecektir.
Eğer elimizde bir request var ise bu durumda HttpContext.Current.Server.MapPath("~/dizin yada dosya adı") şeklinde kullanılabilir. Fakat elimizde bir request yoksa bu durumda System.Web.Hosting.HostingEnvironment.MapPath("~/dizin yada dosya adı ") şeklinde kullanmak gerekecektir.
Kaydol:
Kayıtlar (Atom)