Discussion:
C#文法について
(too old to reply)
C#Sharp.com
2005-05-18 08:25:25 UTC
Permalink
お世話になります。
関数のモジュール化を行ないたくご教示お願いします。

下記のソースコードは、Comポート1、2、を開く概略ソースコードです。
だらだらと長いので、関数化しようと考えていますが、
C#での書き方が分かりません。
C言語であれば、引数に axMSComm1、axMSComm2の構造体等をポインタで渡すことで実現可能ですが、C#などの場合どうすればよいでしょうか?

axMSComm1.CommPort = 1; // 使用するcomポート
if (axMSComm1.PortOpen) axMSComm1.PortOpen = false; // comポートを閉じる
axMSComm1.RThreshold = 1;

axMSComm2.CommPort = 2; // 使用するcomポート
if (axMSComm2.PortOpen) axMSComm2.PortOpen = false; // comポートを閉じる
axMSComm2.RThreshold = 1;

下記C言語での場合
上記をまとめると下記のようになると思います。

struct port {
int CommPort;
int PortOpen;
int RThreshold;
};

typedef struct port COMPORT;

int main(void)
{
COMPORT axMSComm1;
COMPORT axMSComm2;

create_temp1(&axMSComm1);
create_temp1(&axMSComm2);
}

void create_temp1(COMPORT *MySpec1)
{
MySpec1->CommPort = 1;
if (MySpec1->PortOpen) MySpec1->PortOpen = 2; // comポートを閉じる
MySpec1->RThreshold = 1;
}

ご教示お願いします。
Kaoru Kodaka
2005-05-18 13:21:28 UTC
Permalink
$B$+$*$/(B $B$G$9!#(B

On Wed, 18 May 2005 01:25:25 -0700
$BEO$9$3$H$G<B8=2DG=$G$9$,!"(BC#$B$J$I$N>l9g$I$&$9$l$P$h$$$G$7$g$&$+!)(B
void create_temp1(COMPORT *MySpec1)
$B$r(B

| void create_temp1($B%/%i%9L>(B $B0z?tL>(B)

$B$H$7$F$"$2$l$P$$$$$G$9!#CM$rLa$9I,MW$,$"$k>l9g$O!"(Bref $B%-!<%o!<(B
$B%I$r;H$C$F$/$@$5$$!#(B

---
MVP kaok = MVP.ChangeMvpCategory("for C# 2004-2005.");
kaok.Web = "http://www.antoine.st/";

Loading...