关于成员是类对象数组

eceg 2008-09-16 12:13:51
class P1
{
string a;
string b;
public string A
{
get()..
set()..
}

P2[] P2_a;
// 还用生成get/set方法吗?
}
class P2
{
string name;
string id;
}


P1 p=new P1()
p.a=”ddd”;
p.b=”add”;
怎么给里面的类对象数组复制
...全文
123 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
brallow 2008-09-16
  • 打赏
  • 举报
回复
当然要写啊。。。:)
在VS2008下你可以直接写成:
public P2[] P2_a{get;set}
mjjzg 2008-09-16
  • 打赏
  • 举报
回复
同意一楼的
另外向你的p.b=”add”;能付上值吗
你定义的b是私有的且没有公有的get/set方法来生成,你是怎么付上值的?
要不将b设置成公有的public,要不还要给其添加get/set方法
zpcoder 2008-09-16
  • 打赏
  • 举报
回复
//for example

class P1
{
private string a, b;
public string A
{
get { return a; }
set { a = value; }
}
public string B
{
get { return b; }
set { b = value; }
}
}

class P2
{
public void Show()
{
P1[] p = new P1[3];
p[0].A = "第0个A";
p[0].B = "第0个B";
p[1].A = "第1个A";
p[1].B = "第1个B";
p[2].A = "第2个A";
p[2].B = "第2个B";

foreach (P1 s in p)
{
Response.Write(s.A + "|" + s.B + "<br/>");
}
}
}
cpio 2008-09-16
  • 打赏
  • 举报
回复
也要写get,set

要不然就用public P2[] P2_a;
eceg 2008-09-16
  • 打赏
  • 举报
回复
谢谢.解决了.
我姓区不姓区 2008-09-16
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 eceg 的回复:]
vs2005报错
那两行红色的字体都会包错
field type 'App.Data.P0002_Data.Admin[]' is less accessible than field 'App.Data.P0002_Data.pAdmin'
[/Quote]
这个错误,你只要把Admin类定义成public就可以了
public class Admin
{}
eceg 2008-09-16
  • 打赏
  • 举报
回复
public class P0002_Data
{
public P0002_Data() { }
private string distinctionID;
private Admin[] pAdmin;
public string DistinctionID
{
get
{
return (this.distinctionID);
}
set
{
this.distinctionID = value;
}
}
}
class Admin
{
public Admin() { }
private string id;
private string name;
public string Id
{
get
{
return (this.id);
}
set
{
this.id = value;
}
}
public string Name
{
get
{
return (this.name);
}
set
{
this.name = value;
}
}
}

请问将它引入到一个aspx.cs中并实列化,该如何并赋值呢。
例如:
P0002_Data pd=new P0002_Data ();
pd.distinctionID="~~";
pd.Admin //找不到
该如何给那个嵌套类赋值呢
eceg 2008-09-16
  • 打赏
  • 举报
回复
vs2005报错
那两行红色的字体都会包错
field type 'App.Data.P0002_Data.Admin[]' is less accessible than field 'App.Data.P0002_Data.pAdmin'
我姓区不姓区 2008-09-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 eceg 的回复:]
不好意思,刚没写清楚.
public class P0002_Data
{
public P0002_Data() { }
private string distinctionID;
private Admin[] pAdmin;//这个是数组
public string DistinctionID
{
get
{
return (this.distinctionID);
}
set
{
this.distinctionID = value;
}
}
public Admin[] PAdmin  //这个当然也要是数组!!
{
get
{
return (this.pAdmin);
}
set
{
this.pAdmin = value;
}
}
}
class Admin
{
public Admin() { }
privat…
[/Quote]
eceg 2008-09-16
  • 打赏
  • 举报
回复
沉的好快,再顶下
eceg 2008-09-16
  • 打赏
  • 举报
回复
不好意思,刚没写清楚.
public class P0002_Data
{
public P0002_Data() { }
private string distinctionID;
private Admin[] pAdmin;
public string DistinctionID
{
get
{
return (this.distinctionID);
}
set
{
this.distinctionID = value;
}
}
public Admin PAdmin //会报错
{
get
{
return (this.pAdmin);
}
set
{
this.pAdmin = value;
}
}
}
class Admin
{
public Admin() { }
private string id;
private string name;
public string Id
{
get
{
return (this.id);
}
set
{
this.id = value;
}
}
public string Name
{
get
{
return (this.name);
}
set
{
this.name = value;
}
}
}
如果不写下面这些,在asp页面相对应的.cs文件中,找不到PAdmin
public Admin PAdmin //会报错
{
get
{
return (this.pAdmin);
}
set
{
this.pAdmin = value;
}
}
szc21 2008-09-16
  • 打赏
  • 举报
回复
UP一楼
我姓区不姓区 2008-09-16
  • 打赏
  • 举报
回复
要是不用get;set;就不是属性而是字段了

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧