View Full Version : Property با پارامتر
SabaSabouhi
سه شنبه 01 آبان 1386, 11:38 صبح
با سلام
آیا توى #C مىشه مثل VB خاصیتهاى پارامترى داشت؟ مثل: MyProperty("Test", 1) = 1
صبا صبوحى
once4ever
سه شنبه 01 آبان 1386, 17:14 عصر
منظورت چیه؟
رها
سه شنبه 01 آبان 1386, 17:49 عصر
توی سی شارپ همچین امکانی وجود نداره به جاش از متد باید استفاده کنید.
PC2st
سه شنبه 01 آبان 1386, 18:05 عصر
بله میشه ولی با مفهوم Indexer (ایندکسر).
SabaSabouhi
یک شنبه 06 آبان 1386, 10:02 صبح
بله میشه ولی با مفهوم Indexer (ایندکسر).
با سلام و سپاس
اما چطورى؟ مىخوام چند تا پارامتر داشته باشم، مثل یک آرایهى دو بعدى یا سه بعدى.
و این که مثلاً یکى از پارامترها هم رشته باشه.
مثل شىء DataRow که مىتونید با نام ستون به مقدار اون دسترسى داشته باشید:
DataRow MyRow = MyTable.Rows[0];
MyRow["KeyID"] = 1;
مىخواهیم چیزى شبیه به این داشته باشم.
صبا صبوحى
PC2st
یک شنبه 06 آبان 1386, 17:39 عصر
یک پروژه Console App ایجاد کرده و کدهای زیر رو در اون copy\paste کنید:
using System;
class Program
{
static void Main (string [] args)
{
A a = new A ();
string b1 = a.Data ["b1"].Value;
string b2 = a.Data ["b2"].Value;
Console.WriteLine (b1 + " : " + b2);
Console.ReadKey ();
}
}
class A
{
private BCollection collect = new BCollection ();
public BCollection Data
{
get
{
return this.collect;
}
}
}
class BCollection
{
private B
b1 = new B ("Hello"),
b2 = new B ("Bye");
public B this [string name]
{
get
{
switch (name.ToUpper())
{
case "B1":
return b1;
case "B2":
return b2;
default :
throw new ArgumentException (name + " not found");
}
}
}
}
class B
{
private string _value;
public B (string value)
{
this._value = value;
}
public string Value
{
get
{
return this._value;
}
}
}
موارد مهم رو بصورت bold (تو پر و غلیظ) مشخص کردم. امیدوارم کدها رو خوانا نوشته باشم...
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.