0
何が最善の方法だろうと思います。c#twincatの引数をクラスコンストラクタに渡します
クラスをクラスコンストラクタに渡す必要がある場合、なぜクラス内で変数を使用する必要がありますか。
例:
using Beckhoff.App.Ads.Core.Plc;
Class test()
{
private static IBAAdsServer AdsServer;
private static IBAAdsCncClient _cncClient;
public test(IBAAdsServer _adsServer) //constructor
{
try
{
AdsServer = _adsServer;
_cncClient = AdsServer.GetAdsClient<IBAAdsCncClient>("CNC");
_cncClient.Synchronize = true;
}
catch (Exception Except)
{ MessageBox.Show("Error ! " + Except.Message); }
}
なぜ私が行うことはできません。
using Beckhoff.App.Ads.Core.Plc;
Class test()
{
private static IBAAdsCncClient _cncClient;
public test(IBAAdsServer _adsServer) //constructor
{
try
{
_cncClient = _adsServer.GetAdsClient<IBAAdsCncClient>("CNC");
_cncClient.Synchronize = true;
}
catch (Exception Except)
{ MessageBox.Show("Error ! " + Except.Message); }
}
私はきちんとそれを行うことができますどのように、接続されていないクラスの多くの_adsServer
を使用したいですか?
ありがとうございました。
これは可能です。コンストラクターが完了したら、その参照を失うだけです。なぜあなたはそれをすることができないと言いますか?また、なぜあなたは 'GetAdsClient <...>'をクラス外に出して結果をクラスにプッシュしないのですか? – bixarrio
はい、これを行うには別の方法でしたが、実際にはこのようにしていますが、それを行うには良い方法であるのか、別のより良い方法があるのか不思議でした。ありがとう – Jablonovo