C#Sharp.com
2005-05-18 08:25:25 UTC
お世話になります。
関数のモジュール化を行ないたくご教示お願いします。
下記のソースコードは、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;
}
ご教示お願いします。
関数のモジュール化を行ないたくご教示お願いします。
下記のソースコードは、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;
}
ご教示お願いします。