肛泰贴止痛效果怎么样:关于C#。Net中的结构体作为变量传递的问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 09:27:27
在一个文件中有如下结构体:
public struct MSTFuncType
{
public const String Menu = "MENU";
public const String MasterPage = "MASTER_PAGE";
public const String MasterBiz = "MASTER_BIZ";
public const String Detail = "000000000000000001";
public const String History = "000000000000000002";
public const String Material = "000000000000000003";
public const String List = "000000000000000004";
}

现在要在另外一个文件中调用他:
public void addInfo(FuncTreeNode FuncNode)
{
FormData frmData = new FormData(FuncNode, FormData.EXEC_FLAG_INSERT, MSTFuncType.List);
frmData.MdiParent = this.MdiParent;
frmData.Show();
}
本来在参数中 MSTFuncType.List 是作为常量传递的,现在要把MSTFuncType这个结构体改为变量传递,那么请问高手们如何改写以上的代码而不用改变结构体!

在你接收的那块例如:ceshi(MSTFuncType test) 这样不就可以了

public struct MSTFuncType
{
public const String Menu = "MENU";
public const String MasterPage = "MASTER_PAGE";
public const String MasterBiz = "MASTER_BIZ";
public const String Detail = "000000000000000001";
public const String History = "000000000000000002";
public const String Material = "000000000000000003";
public String List = "000000000000000004"; //去掉const,使之成为变量,但这样做不行,这是一行错误的代码,应该改成这样:
public string List;
public MSTFuncType()
{
List="000000000000000004";//对于struct,你不应该直接对它的变量在声明的时候进行初试化,而应该在构造器中将它初试化
}
}

public void addInfo(FuncTreeNode FuncNode)
{
MSTFuncType mst = new MSTFuncType();//因为你要使用变量,所以必须对一个对象进行初始化,将它建立成实体才能够使用
FormData frmData = new FormData(FuncNode, FormData.EXEC_FLAG_INSERT, mst.List);
frmData.MdiParent = this.MdiParent;
frmData.Show();
}