1

亲爱的,我正在使用 c# 和 Devshock 协议编写一个 smpp 应用程序。这里 mySmppClient_evDeliver_Sm 方法获取参数“ e ”作为“ Devshock.Protocol.SmppClient.Deliver_SmEventArgs e ”的参数,然后使用“e”我们得到其余的值如:e.Params.Body.Data_Codinge.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);         
        }

现在我的问题是:

我如何在不使用“e”作为参数的情况下获取值 Params.Body.Data_Coding 和 Params.Body.Short_Message。如果我使用任何对象或类似下面的结构获取值对我来说会更好。我是如何做到的?

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);

}

对于那些帮助我解决这个问题的好心人,我将非常高兴。提前致谢 里亚德

4

2 回答 2

0

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

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

于 2011-03-08T10:21:00.753 回答
0

鉴于您要显示的消息内容是作为事件的一部分出现的,我怀疑您是否能够以任何其他方式获得它。但是,您可以值作为成员存储在类中,并从其他地方引用该类的内容。

于 2011-03-08T10:21:07.330 回答