見出し画像

ML.netをVB.netで使う話、クラスライブラリーの基本編・その6

以前にも書きましたが、仕事は報告が大事です。
C#のクラスライブラリーも例外エラーが発生したのか、正常に処理が出来たのかの報告だけは最低限必要です。

このため、SampleMachineLearningの戻り値はBoolean型にしています。
異常発生ならばfalse、正常処理ならtrue。

私の書くソースコード、余程のことが無い限りはvoid型の宣言はしません。
(相当へそ曲がりかも知れませんが)

では、C#のクラスライブラリーから計算結果をVB.net側で得たい場合はどうするのでしょうか?
戻り値は正常処理を知らせるために使うので、それ以外の方法で値の受け渡しが必要です。

こういう場合、VB.net側で変数を作成し、C#側でこの変数に対して値を入れます。
VB.net側でもC#からの結果を受け取って、何かしらの処理を行えばよいのです。

この時、一つだけ注意点があります。
受け渡しを行う変数、不定な値を受け渡ししないようにVB.netとC#の両方で初期化をしてください。

#学習 #勉強 #AI #機械学習 #プログラミング

#Visual系 #Visual #CSharp #BASIC #使える #ソースコード #Windows #システム #Windowsシステム #工場 #サンプル #実務 #生産ライン #生産
#機械学習 #自動判定 #使い勝手 #お役立てください

VB.net側の呼び出すコード、こんな感じです。
Dim ClassLibraryObject As Object = New ClassLibrary1.Class1
Dim StringReturn As String = ""
Dim BooleanReturn As Boolean = ClassLibraryObject.SampleMachineLearning("abc", 1, StringReturn)

C#側の呼び出されるコード、こんな感じです。
public Boolean SampleMachineLearning(String CharacterStringToPassed,Int64 NumbersToPassed,ref string StringReturn)
{
//値の初期化
StringReturn = "";
//何かしらの処理を行い、StringReturnに値を入れてVB.netに値を受け渡す
}


この記事が気に入ったらサポートをしてみませんか?