Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何在JScript.NET中获取System.Type对象?_Asp.net_.net_Reflection_Types_Jscript.net - Fatal编程技术网

Asp.net 如何在JScript.NET中获取System.Type对象?

Asp.net 如何在JScript.NET中获取System.Type对象?,asp.net,.net,reflection,types,jscript.net,Asp.net,.net,Reflection,Types,Jscript.net,有一个旧的.ASPX页面使用“javascript”(JScript)作为页面语言 在引用的程序集中有一个C#方法,应该被调用 public void IX Locate(Type x) 使用C#可以通过提供相应的类型对象来调用此方法 var o = locator.Locate(typeof(XImpl)); 但是,在JScripttypeof中,运算符总是返回字符串而不是所需的类型对象 var o = locator.Locate(typeof(XImpl)); 如何在JScript

有一个旧的.ASPX页面使用“javascript”(JScript)作为页面语言

在引用的程序集中有一个C#方法,应该被调用

public void IX Locate(Type x)
使用C#可以通过提供相应的类型对象来调用此方法

var o = locator.Locate(typeof(XImpl));
但是,在JScript
typeof
中,运算符总是返回字符串而不是所需的类型对象

var o = locator.Locate(typeof(XImpl));
  • 如何在JScript中获取
    System.Type
    对象(并调用此方法)

我一直在四处寻找,找不到一个可行的运算符或方法



编辑:可以使用
Type.GetType(名称)
或类似工具。但是,这需要手动解析类型名,而不是让编译器来完成这项工作。这还需要具有程序集名称。

JScript使用COM/Automation与外部世界通信。自动化只允许传递少数类型(),System.Type不是其中之一,您应该转换您的方法,使其以字符串作为输入,以表示类型的全名或程序集限定的全名,例如。@SimonMourier与.NET的JScript有什么不同吗?当前代码(其中有“很多”)似乎能够访问.NET程序集中的“所有”类型,包括那些没有明确标记为远程处理的类型。能够创建.NET对象(并将其保存到局部变量)、调用所述.NET对象上的方法以及通过参数传递对象之间是否有区别?.NET Jscript是100%不同的,它是一种基于CLR的真正的.NET语言。。ASP.NET的JScript(或VBScript)是一个COM对象。您只能将标记有ComVisible属性的.NET对象传递给COM JScript,它与远程处理无关。那么我假设这是“.NET JScript”。为了清楚起见,我将更新这个问题,但它是同一个问题。与C#不同,JScript.NET的typeof返回一个字符串,而不是每个手册返回的类型:JScript使用COM/Automation与外部世界通信。自动化只允许传递少数类型(),System.Type不是其中之一,您应该转换您的方法,使其以字符串作为输入,以表示类型的全名或程序集限定的全名,例如。@SimonMourier与.NET的JScript有什么不同吗?当前代码(其中有“很多”)似乎能够访问.NET程序集中的“所有”类型,包括那些没有明确标记为远程处理的类型。能够创建.NET对象(并将其保存到局部变量)、调用所述.NET对象上的方法以及通过参数传递对象之间是否有区别?.NET Jscript是100%不同的,它是一种基于CLR的真正的.NET语言。。ASP.NET的JScript(或VBScript)是一个COM对象。您只能将标记有ComVisible属性的.NET对象传递给COM JScript,它与远程处理无关。那么我假设这是“.NET JScript”。为了清楚起见,我将更新这个问题,但它是同一个问题。与C#不同,JScript.NET的typeof返回一个字符串,而不是每个手册的类型: