PDA

View Full Version : خطا در foreach



bahar_engineer
شنبه 20 تیر 1388, 17:11 عصر
من دارم یه کد vb رو به c# تبدیل می کنم 2-3 تا خطا می ده و هر کاریش کردم درست نشد .. آخه خطای بیخودی هم می ده: ببینید :

سوال اول :

از این چرا ایراد می گیره ؟



foreach (DataRow objDR in objDT.Rows)
می گه :



A local variable named 'objDR' cannot be declared in this scope because would give a different meaning to 'objDR', which is already used in a 'parent or current' scope to denote something else.



سوال دوم :



protected void Delete_Item(object sender, DataGridCommandEventArgs e)
{
objDT.Rows[e.Item.ItemIndex].Delete();
}


وقتی می خوام این تابع رو فراخوانی کنم به چه شکل بنویسم ؟ منظورم اینه که چطور فراخوانیش کنم ؟



protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e)
{
??????
}


اینطوری نوشتم خطا داد:



protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e)
{
GridView1.DeleteRow += new GridViewDeletedEventHandler(Delete_Item);
}


از new ایراد می گیره :
no overload for (Delete-Item) matches delegate 'system.web.ui.webcontrols.gridviewdeletedeventhan deler

iman_22a
شنبه 20 تیر 1388, 19:41 عصر
سلام ...
از این سایت (http://www.developerfusion.com/tools/convert/csharp-to-vb/) کمک بگیرید

bahar_engineer
یک شنبه 21 تیر 1388, 09:48 صبح
این سایت مشکل منو حل نکرد

اون که اصلاً به جای datarow می نویسه var :قهقهه:

اگه ممکنه بررسی کنین... فقط 2 تا دستوره

ببینید من می خوام این کد رو بنویسم که به این شکل تبدیلش کردم به c#

VB.NET


For Each objDR In objDT.Rows
If objDR("Product") = Product Then
objDR("Quantity") += txtQuantity.Text
blnMatch = True
Exit For
End If
Next



تبدیل شده به C#


foreach(System.Data.DataRow objDR in objDT.Rows)
{
string myname;
myname = objDR["ProductName"].ToString();
if (myname == ProductName)
{
objDR["Quantity"] += TextBox1.Text;
blnMatch = true;
}
}


خوب در این حالت پیغامی رو می ده که در اول این تاپیک نوشتم برای FOREACH


ممنون

compute87
یک شنبه 21 تیر 1388, 10:49 صبح
سلام دوست عزیز
در مورد foreach شاید objdrرو کمی بالاتر هم استفاده کردید که واسش یک معنی دیگه می ده.یه چک بکنید.
امیدوارم درست شه موفق باشید.