سلام دوستان
من یه کلاس دارم که یه سری فیلد ها داخلش هست
همین فیلد هارو داخل یه فایل xml هم ذخیره کرده
حالا میخوام نام هر فیلد رو که از فایل میخونم که به صورت یه رشته هست رو تو برنامه مقداری که داخل فیلد هست رو بدست بیارم
ممنونم
سلام دوستان
من یه کلاس دارم که یه سری فیلد ها داخلش هست
همین فیلد هارو داخل یه فایل xml هم ذخیره کرده
حالا میخوام نام هر فیلد رو که از فایل میخونم که به صورت یه رشته هست رو تو برنامه مقداری که داخل فیلد هست رو بدست بیارم
ممنونم
فکر کنم منظورمو نرسوندم
ببین من مشکلی بامقدار دهی کلاس و خوندن از xml ندارم
ببین فرض کن یه کلاس مثه این داریم
public class tmp
{
public string a{get;set;}
public int b{get;set;}
}
حالا یه string هم داریم به اینصورت
string c="a";
مقدار داخل متغیر c اسم یکی از پارامترهای کلاس tmp هستش.
حالا من میخوام بدونم چطوری مقدار داخل پارامتر a رو بخونم با استفاده از مقداری که داخل متغیر c هستش؟؟؟
چرا اینجوری پس؟
بنویس
string c = temp.a;
وخودتو خلاص کن;
آخرین ویرایش به وسیله Mahmoud.Afrad : سه شنبه 13 تیر 1396 در 22:40 عصر
دوست عزیز ممنونم که پیگیری میکنی
ولی کلا من یه چیز دیگه میخوام
متغیر c مشخص میکنه که من مقدار کدوم پارامتر رو بخونم ممکنه داخل c پارامتر a یا شاید b باشه
در واقع من میخوام با اسم پارامتر که بهصورت string هستش مقدار داخلشو بدست بیارم
بازم ممنون
اون وقت باید کلا یه کار دیگه بکنی،
بجای متغیر "A" اسم تگ مورد نظر در اگزمل رو بفرستی به کلاس و مقدارشو بخونی
<datatable>
<a>ali shahryari</a>
<b>1362/03/25</b>
</datatable>
خب منم همونو میگم، تگ های داخل اگزمل (اسمهاش، ولیوهاش نه) رو بده ، در دخل تابعت برشگردون
class temp
{
public string getValue(string tag)
{
DataTable dt = new DataTable("myDB");
dt.Columns.Add("a");
dt.Columns.Add("b");
dt.ReadXml("test.xml");
string value = "" ;
value = dt.Rows[0][tag].ToString();
return value;
}
}
private void button2_Click(object sender, EventArgs e)
{
temp tmp = new temp();
string c = tmp.getValue("a");
}
اینم اگزمل:
<?xml version="1.0" standalone="yes"?>
<DocumentElement>
<myDB>
<a>ali shahryari</a>
<b>1362/03/25</b>
</myDB>
</DocumentElement>
کلاس temp ویرایش شد، نیازی به حلقه و شرط نبود
آخرین ویرایش به وسیله shahryari : سه شنبه 13 تیر 1396 در 17:52 عصر دلیل: کلاس temp ویرایش شد، نیازی به حلقه و شرط نبود
سلام
این کلاس رو در نظر بگیرید
public class Sample
{
public int SampleProperty { get; set; }
public int SampleField;
public Sample(int input)
{
SampleProperty = input;
SampleField = input;
}
}
کدی که شما نیاز دارید:
var sample = new Sample(51);
//برای گرفتن مقدار پراپرتی با نام
var propertyValue = sample.GetType().GetProperty("SampleProperty").Get Value(sample, null).ToString();
//برای گرفتن مقدار فیلد با نام
var fieldValue = sample.GetType().GetField("SampleField").GetValue( sample).ToString();
نام هایی که بعنوان پارامتر جلوی متدهای GetProperty و GetField نوشته شدن رو شما تعیین می کنید (شما از فایل xml می خونید)
موفق باشید
قوانین سایت برنامه نویس [ به سوالات از طریق پیام خصوصی پاسخ داده نمی شود ]