実は同じ問題に関して2つの質問がありますが、関連性がないと思うので分けたほうがいいと思います。
背景: VB.NET で Windows Mobile ソフトウェアを作成しています。このソフトウェアは、電子メールの送受信のためにメール サーバーに接続する必要があります。その結果、添付ファイルを取得するために、電子メールを (デコードおよびエンコードするための) Mime パーサーも必要になります。最初は、この問題を処理するための小さな「ハック」を (通常の文字列解析を使用して) 作成しようと考えましたが、CodeProjectで C# で作成されたプロジェクトを見ました。私は自分のソリューションに実装すると思っていました。私は C# についてあまり知らないので、単純にクラスからクラス ライブラリを作成し、それを VB.NET プロジェクトで使用しました。このライブラリは、通常の Windows コンピューターで Net Framework を対象としている場合は非常にうまく機能しますが、Compact Net Framework を対象とする同じライブラリを作成しようとすると、問題が発生しました。Compact Net Framework にはより多くの制限があるため、これは当然のことですが、実際にはそれほど多くのエラーは発生しませんでした。コード内のさまざまな場所で繰り返されていましたが、2 つだけでした。
エラーの 1 つは、この質問の件名で引用されているものです。つまり、「メソッド 'GetString' のオーバーロードは '1' 引数を取らない」です。上記のように、私はC#についてあまり知らないので、オンラインでエラーのあるクラスをVB-NETに変換しましたが、まだあまり理解していません..上記のエラーを与える関数は次のとおりです。
public virtual string DecodeToString(string s)
{
byte[] b = DecodeToBytes(s);
if(m_charset != null)
{
//ERROR ON THIS LINE
return System.Text.Encoding.GetEncoding(m_charset).GetString(b);
}
else
{
m_charset = System.Text.Encoding.Default.BodyName;
//ERROR ON THIS LINE
return System.Text.Encoding.Default.GetString(b);
}
}
このクラスの完全なソース コードが必要な場合は、このスレッドの別のメッセージに投稿するか、上記の Web サイトでコードをダウンロードし、MimeCode という名前のクラスを参照してください。 cs。
私を助けてくれる人はいますか?この問題を克服するために、上記の関数を何らかの方法で書き直すことはできますか?
よろしくお願いします。
皆様、明けましておめでとうございます。
Rgds、moster67