在c#中传递值

时间:2011-03-08 10:08:05

标签: c# smpp

亲爱的, 我正在使用c#和Devshock协议编写一个smpp应用程序。在mySmppClient_evDeliver_Sm方法中,获取参数“ e ”作为“ Devshock.Protocol.SmppClient.Deliver_SmEventArgs e ”的参数然后使用“e”我们得到其余的值,如: e.Params.Body.Data_Coding e.Params.Body.Short_Message

private void mySmppClient_evDeliver_Sm(object sender,Devshock.Protocol.SmppClient.Deliver_SmEventArgs e)
        {
           string ShortMessage = mySmppClient.GetShortMessage(e.Params.Body.Data_Coding, e.Params.Body.Short_Message);        
           MessageBox.Show(ShortMessage);         
        }

现在我的问题是:

我如何获得值Params.Body.Data_Coding和Params.Body.Short_Message而不使用“e”作为参数。如果我使用任何对象获取值,对我来说会更好或者像下面这样的结构。我怎么做?

private void mySmppClient()
{
  //declare any object or any other way let abc

   string ShortMessage=mySmppClient.GetShortMessage(abc.Params.Body.Data_Coding, abc.Params.Body.Short_Message );
   MessageBox.Show(ShortMessage);

}

对于帮助我解决这个问题的善良的心,我会非常感动。 提前致谢 里亚德

2 个答案:

答案 0 :(得分:0)

我似乎不可能,至少不是以“正确”的方式。虽然您可以使用实例或静态字段来传递方法的参数,但这会滥用语言,并且您最终会因为代码质量低而受到影响。当然,也许有一种我没想到的不同方式。

为什么不将方法参数作为参数传递?这就是他们的目的!

答案 1 :(得分:0)

鉴于您要展示的邮件内容是作为活动的一部分进行的,我怀疑您是否能够以任何其他方式获取它。但是,您可以值存储为类中的成员,并从其他位置引用该类的内容。