看看这段代码,大家帮帮我
FieldsObject = new MIS_FlowWorkFieldsObject();//根据界面checkbox对应列,设置fieldsobject对应的值
foreach (Control c in panSelect.Controls)
{
if (c is myCheckBox)
{
myCheckBox chkItem = c as CheckBox;
string objName = chkItem.Name.Substring(3).Trim().ToString();
if (chkItem.Checked)
{
FieldsObject["objName"] = true;
}
else
{
FieldsObject["objName"] = false;
}
}
}
其中FieldsObject是对象,objName 一个字符串
我想让他们成为“对象.属性”如何做啊? --------------------编程问答-------------------- 不知道 --------------------编程问答-------------------- FieldsObject类
--------------------编程问答-------------------- 在创建对像时,在对像内部定义属性 --------------------编程问答-------------------- 只知道
publci class FieldsObject
{
private string objName;
//加上这个属性就可以了。
public string ObjName
{
get{return this.objName;}
set{this.objName=value;}
}
}
public class myClass
{
private string _myName;
public string MyName
{
get{ return _myName;}
set{_myNmae = value;}
}
}
private void static main
{
myClass a=new myClass();
a.MyName="";
}
能这样取。 --------------------编程问答-------------------- 什么呀?是想用反射动态创建类实例么? --------------------编程问答-------------------- 按2楼的做 --------------------编程问答-------------------- 没弄白楼主啥意思!
要是想让他们成为“对象.属性”
就写个类
在类里定义个私有的变量
然后读写属性就可以了
publci class ClassOne
{
private string _name;
//加上这个属性就可以了。
public string Name
{
get{return this._name;}
set{this._name=value;}
}
}
--------------------编程问答-------------------- good --------------------编程问答-------------------- //根据界面checkbox对应列,设置fieldsobject对应的值
没明白这是干啥的,学习了 --------------------编程问答-------------------- 写成实体类
--------------------编程问答-------------------- 先定义一个私有这是,然后给这个变量加上get&set方法即可
public class MIS_FlowWorkFieldsObject
{
private string ObjName
public string ObjName
{
get
{
return objName;
}
set
{
objName=value;
}
}
}
--------------------编程问答-------------------- 有些问题啊 ,这样是属性访问
public class Test
{
private string objectName;
public string ObjectName
{
get{return this.objectName;};
set{this.objectName = value;};
}
}
但是现在有些问题
如何写啊?
string objName = chkItem.Name.Substring(3).Trim().ToString();
if (chkItem.Checked)
{
FieldsObject["objName"] = true;
}
else
{
FieldsObject["objName"] = false;
}
关键是属性是动态的怎么处理啊?
example: obj.xxx = "";
xxx是动态的啊 --------------------编程问答-------------------- 使用get和set就行了楼上的办法就行 --------------------编程问答-------------------- 不行的啊
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Custom objCustom = new Custom();
string _Name = "Name";
objCustom[_Name] = "Tom";
Console.WriteLine(objCustom.Name);
Console.ReadLine();
}
}
}
写了个简单的,报错啊 --------------------编程问答-------------------- 建议lz看看属性、索引器、键值对相关介绍文章 --------------------编程问答-------------------- FieldsObject这个类是你写的吗,可以修改吗
你把属性和索引器的概念搞反了
没有搞清楚啊,你好好的看看书吧
这个写法才是属性,
public class MIS_FlowWorkFieldsObject
{
private string ObjName
public string ObjName
{
get
{
return objName;
}
set
{
objName=value;
}
}
}
--------------------编程问答-------------------- private string objName;
public string ObjName
{
get{return objName;}
set{objName=value;}
}
补充:.NET技术 , C#