本文整理汇总了C#中JSContext.SetObject方法的典型用法代码示例。如果您正苦于以下问题:C# JSContext.SetObject方法的具体用法?C# JSContext.SetObject怎么用?C# JSContext.SetObject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JSContext
的用法示例。
在下文中一共展示了JSContext.SetObject方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DidCreateJavaScriptContext
public override void DidCreateJavaScriptContext (UIWebView webView, JSContext ctx)
{
if (ctx != null)
{
//set a value
this.ANumber = 20;
//set an NSObject value in to the context
ctx.SetObject (webView, @"webView");
ctx.SetObject (this, @"webDelegate");
///Attach a hybrid api handler
DSHybridHandler.Attach (ctx);
//load a property
ctx.SetObject (ANumber, @"aNumber");
//attach object to namespace
ctx.SetObject ("webView", "aNumber", ANumber);
//create an object that uses DSJavascriptObject as a base classes, which in turn exposes class members using JSExport
//Note this can onl be done with the protocol in Obj-c not monotouch
ctx.SetObject (new aClass (), @"aClass");
//attach extra property to the aclass object
ctx.SetObject ("aClass", "subNumber", ANumber);
//set a execution block that can accept a number and return a number
ctx.SetNumberBlock ((NSObject num) => {
var toInt = num as NSNumber;
var aInt = toInt.IntValue;
return new NSNumber (aInt * 2);
}, @"getInt");
//Set an execution block in the context, 1 parameter no return type
ctx.SetBlock ((obj) => {
BeginInvokeOnMainThread (() => {
//convert to string
var name = obj.ToString ();
//create message
var message = String.Format ("Hello, {0}!", name);
var aNewAler = new UIAlertView ("Welome", message, null, "OK", null);
aNewAler.Show ();
});
}, @"sayHello");
///Multi-parameter void block
ctx.SetBlock ((obj, obj2) => {
BeginInvokeOnMainThread (() => {
var firstName = obj.ToString ();
var lastName = obj2.ToString ();
var message = String.Format ("Hello, {0}{1}!", firstName, lastName);
var aNewAler = new UIAlertView ("Welome", message, null, "OK", null);
aNewAler.Show ();
});
}, @"sayFirstAndLastName");
}
}