本文整理汇总了C#中Marshaller.InitTypes方法的典型用法代码示例。如果您正苦于以下问题:C# Marshaller.InitTypes方法的具体用法?C# Marshaller.InitTypes怎么用?C# Marshaller.InitTypes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Marshaller
的用法示例。
在下文中一共展示了Marshaller.InitTypes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: JsGlobal
public JsGlobal(ExecutionVisitor visitor, Options options)
: base(JsNull.Instance)
{
this.Options = options;
this.Visitor = visitor;
this["null"] = JsNull.Instance;
JsObject objectProrotype = new JsObject(JsNull.Instance);
JsFunction functionPrototype = new JsFunctionWrapper(
delegate(JsInstance[] arguments) {
return JsUndefined.Instance;
},
objectProrotype
);
Marshaller = new Marshaller(this);
#region Global Classes
this["Function"] = FunctionClass = new JsFunctionConstructor(this, functionPrototype);
this["Object"] = ObjectClass = new JsObjectConstructor(this, functionPrototype, objectProrotype);
ObjectClass.InitPrototype(this);
this["Array"] = ArrayClass = new JsArrayConstructor(this);
this["Boolean"] = BooleanClass = new JsBooleanConstructor(this);
this["Date"] = DateClass = new JsDateConstructor(this);
this["Error"] = ErrorClass = new JsErrorConstructor(this, "Error");
this["EvalError"] = EvalErrorClass = new JsErrorConstructor(this, "EvalError");
this["RangeError"] = RangeErrorClass = new JsErrorConstructor(this, "RangeError");
this["ReferenceError"] = ReferenceErrorClass = new JsErrorConstructor(this, "ReferenceError");
this["SyntaxError"] = SyntaxErrorClass = new JsErrorConstructor(this, "SyntaxError");
this["TypeError"] = TypeErrorClass = new JsErrorConstructor(this, "TypeError");
this["URIError"] = URIErrorClass = new JsErrorConstructor(this, "URIError");
this["Number"] = NumberClass = new JsNumberConstructor(this);
this["RegExp"] = RegExpClass = new JsRegExpConstructor(this);
this["String"] = StringClass = new JsStringConstructor(this);
this["Math"] = MathClass = new JsMathConstructor(this);
// 15.1 prototype of the global object varies on the implementation
//this.Prototype = ObjectClass.PrototypeProperty;
#endregion
foreach (JsInstance c in this.GetValues()) {
if (c is JsConstructor) {
((JsConstructor)c).InitPrototype(this);
}
}
#region Global Properties
this["NaN"] = NumberClass["NaN"]; // 15.1.1.1
this["Infinity"] = NumberClass["POSITIVE_INFINITY"]; // // 15.1.1.2
this["undefined"] = JsUndefined.Instance; // 15.1.1.3
this[JsScope.THIS] = this;
#endregion
#region Global Functions
// every embed function should have a prototype FunctionClass.PrototypeProperty - 15.
this["eval"] = new JsFunctionWrapper(Eval, FunctionClass.PrototypeProperty); // 15.1.2.1
this["parseInt"] = new JsFunctionWrapper(ParseInt, FunctionClass.PrototypeProperty); // 15.1.2.2
this["parseFloat"] = new JsFunctionWrapper(ParseFloat, FunctionClass.PrototypeProperty); // 15.1.2.3
this["isNaN"] = new JsFunctionWrapper(IsNaN, FunctionClass.PrototypeProperty);
this["isFinite"] = new JsFunctionWrapper(isFinite, FunctionClass.PrototypeProperty);
this["decodeURI"] = new JsFunctionWrapper(DecodeURI, FunctionClass.PrototypeProperty);
this["encodeURI"] = new JsFunctionWrapper(EncodeURI, FunctionClass.PrototypeProperty);
this["decodeURIComponent"] = new JsFunctionWrapper(DecodeURIComponent, FunctionClass.PrototypeProperty);
this["encodeURIComponent"] = new JsFunctionWrapper(EncodeURIComponent, FunctionClass.PrototypeProperty);
#endregion
Marshaller.InitTypes();
}