从函数内部声明全局变量?
|
这是我的代码:
private void connect()
{
try
{
textBox1.Text += \"connecting... \\r\\n\";
button1.Enabled = false;
DuplexChannelFactory<IfaceClient2Server> cf =
new DuplexChannelFactory<IfaceClient2Server>(
new CallbackImpl(),
new NetTcpBinding(),
new EndpointAddress(\"net.tcp://localhost:9080/service\"));
IfaceClient2Server srv = cf.CreateChannel();
srv.StartConnection(name); /// need to make this one global!
textBox1.Text += name + \"connected!\\r\\n\";
}
catch
{
button1.Enabled = true;
textBox1.Text += \"error connecting!\\r\\n\";
}
}
private void sendMsg()
{
srv.Message_Cleint2Server(\"Hello!\");
/// srv doesn\'t exist here.
}
如您所见,服务器对象(srv)是通过connect()函数声明的,但是我当然需要此对象是全局的,以便能够从其他函数(例如sendMsg)访问它。好。
您认为什么是最好的方法?
谢谢!
没有找到相关结果
已邀请:
4 个回复
郡晒景沧
您可以选择实现自定义的get和set以防止出现问题,或者将对象创建为类的静态构造函数的一部分。
矾醒忻
注意:如果要将变量暴露在外面,请使用“属性”。
驮帽俺篮号
梦砍废么