私はいくつかの古典的なVB6コードをC#に移植することに取り組んでおり、PV
関数の使用法に出くわしました.
Microsoft.VisualBasic アセンブリへの参照を含めて、私は間違っていると感じています。これは一般的に行われていることですか、それともさらにオプションを検討する必要がありますか。次に思いつくアイデアは、Reflector でこの PV 機能を調べることです。
私はいくつかの古典的なVB6コードをC#に移植することに取り組んでおり、PV
関数の使用法に出くわしました.
Microsoft.VisualBasic アセンブリへの参照を含めて、私は間違っていると感じています。これは一般的に行われていることですか、それともさらにオプションを検討する必要がありますか。次に思いつくアイデアは、Reflector でこの PV 機能を調べることです。
C# および VB.NET からのMicrosoft.VisualBasicの使用については、この質問で徹底的に議論されています。Microsoft.VisualBasic 名前空間は完全にサポートされており、.Net が存在する限り存続します。それを避ける理由はありません。
編集:入力時に、この質問に対する他の回答は、関数の誤った再実装と、コード ギャラリーのサポートされていないワンマン バンド ライブラリであることを示しています。Microsoft が VB から財務機能を削除するには、本当に大きなイベントが必要です。
VB6 アップグレード ウィザード専用のMicrosoft.VisualBasic.Compatibilityの場合は別の話です。EDIT は .Net 4 で廃止されました(私の予測は実現しました)。新しい開発には使用しないでください。これへの参照を削除することにはいくつかの利点がありますが、個人的には、最初に参照する完全に機能するポートを実現しようとするでしょう.Net 3.5.
C# で複製するのは非常に簡単です
public static double PV(double Rate, int nPer, double Pmt, double FV, bool Type)
{
double ann = Math.Pow(1 + Rate, nPer);
return -(FV + Pmt * (1 + (Type ? Rate : 0)) * ((ann - 1) / Rate)) / ann;
}
Microsoftが提供する式を再配置しただけです。