Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

関数の呼び出し - .NET SDK

項目一覧

  • 名前を使用して関数を呼び出す

このセクションの例では、2 つの引数を受け取り、それらを加算して結果を返す sumという名前の Realm 関数を呼び出す方法が示されています。

// sum: adds two numbers
exports = function(a, b) {
return a + b;
};

注意

最初に認証

ユーザーオブジェクトで関数を呼び出すため、関数を呼び出す前にユーザーを認証する必要があります。

重要

Atlas Functions を使用する際は、コード インジェクションから保護するために、クライアント データを必ずサニタイズしてください。

.NET SDK から関数を実行するには、 UserオブジェクトでFunctions.CallAsync()メソッドを使用して、最初のパラメーターとして関数の名前を渡し、残りのパラメーターとして引数を渡します。

var bsonValue = await
user.Functions.CallAsync("sum", 2, 40);
// The result must now be cast to Int32:
var sum = bsonValue.ToInt32();
// Or use the generic overloads to avoid casting the BsonValue:
sum = await
user.Functions.CallAsync<int>("sum", 2, 40);

注意

CallAsync()メソッドは単一のBsonValueオブジェクトを返します。これは、 関数を呼び出した後、または汎用オーバーロードを使用して逆シリアル化できます。 逆シリアル化へのこれらの両方のアプローチが上記のコードに表示されています。

BsonValueオブジェクトは、単一のプリミティブ値(上記の例に示すように)を保持することも、完全な BSON ドキュメントを保持することもできます。 返されたオブジェクトにマップするクラスがある場合は、ジェネリック オーバーロードを使用してそのクラスに逆シリアル化できます。 たとえば、次のコードは、"RealmTasks" のコレクションからオブジェクトを返す関数を呼び出します。 返されるオブジェクトの形状がわかっているため、作成したクラスにBsonValueを逆直列化でき、そのオブジェクトのプロパティとメソッドにアクセスできます。

var item = await user.Functions.CallAsync<MyClass>
("getItem", "5f7f7638024a99f41a3c8de4");
var name = item.Name;

戻る

App Services Appへの接続