.NET API から MStatus 戻りコードを除去する

MStatus クラスは、Maya の .NET API には存在しません。MStatus を返す関数はC++ では void 関数に変換されているか、C# ではブール値を返して Maya に特殊なケースを示します。たとえば、Maya がプラグインの代わりに処理を行う場合です。.NET API では、これらの関数は、MStatus.kSuccess の代わりに true または false を返します。

次の関数は、MStatus.kFailure の代わりに false を返します。

次の関数は、MStatus.kUnknownParameter の代わりに false を返します。

次の関数は、MStatus.kNotImplemented の代わりに false を返します。

次の関数は、MStatus.kNotFound の代わりに false を返します。

この動作は、プラグインが呼び出す Maya 関数にも適用されます。たとえば、失敗の場合、C++ で kFailure を返す関数は、C# では代わりに例外のタイプ ApplicationException をスローします。次の例外のタイプがあります。

Maya がプラグイン(たとえば、MPxCommand 派生クラスの仮想メソッド doIt())を呼び出すときは、呼び出しを常に try-catch 節で囲みます。関数によって、または関数が呼び出した Maya 関数によってスローされた例外を受け取った場合、メッセージ ボックスが表示され、コールスタックを含む例外の詳細が示されます。これは、デバッグに非常に便利な場合があります。

重要:

この高度な try-catch のおかげで、特別な方法で例外に反応しない場合は、Maya 関数の呼び出しを try-catch 節で囲む必要がありません。