私は API を C から C# に変換しています。関数の 1 つは、多数の関連オブジェクトを割り当てます。そのうちのいくつかはオプションです。C バージョンは、オブジェクトに整数ハンドルを返すために使用されるいくつかのポインター パラメーターを受け入れます。呼び出し元は、NULL
これらのオブジェクトの割り当てを回避するために、いくつかのポインターを渡すことができます。
void initialize(int *mainObjPtr, int *subObjPtr, int *anotherSubObjPtr);
initialize(&mainObj, &subObj, NULL);
C# バージョンの場合、明らかな変換ではout
、ポインターの代わりにパラメーターが使用されます。
public static void Initialize(out int mainObj, out int subObj,
out int anotherSubObj);
...しかし、これでは、どのオブジェクトが不要であるかを示す方法がありません。私が真似できるような、C# API のよく知られた例はありますか? そうでない場合、何か提案はありますか?