是否可以将参数传递给程序集dll?

时间:2014-01-15 08:31:58

标签: c# asp.net .net .net-assembly

您好我已经提到this article代码运行良好,我可以返回值,如文章所示。这是一个dll程序集,我通过javascript调用。

但是,我想将参数传递给接口并将它们拉入类中。

我在文章中修改了代码,尝试了以下代码: -

 public interface ASignatures 
 {
    void showMsg(string val);
 }
    [ClassInterface(ClassInterfaceType.AutoDual)] 
 public class AClass :ASignatures 
 {
    public showMsg(string val)
    {
      MessageBox.Show(val);
    }

上面的代码没有执行,我看不到错误,因为我通过浏览器中的javascript调用它。如果可能的话,请你告诉我,如果是的话,那我做错了吗?

我是否必须使用GET或SET之类的东西?只是猜测......

更新1 如果我放了消息框,那么只有当我没有参数化函数时才会显示它们。例如:我将messagebox.show放在文章中提供的代码中然后它会显示出来。示例:以下工作并显示消息框: -

    using System;
using System.Runtime.InteropServices;
namespace ANamespace 
{

  public interface ASignatures
  {
    string FName();
    string SName();
    int Age { get;}  
  }

  [ClassInterface(ClassInterfaceType.AutoDual)]
  public class AClass :ASignatures
  {
    public string FName()
    {
MessageBox.Show("TEST THIS WORKS");
      return "Imran";
    }
    public string SName()
    {
      return "Nathani";
    }
    public int Age
    {
      get { return 24; }
    }
  }
}

但是,现在,我想使用以下命令将参数传递给此DLL: -

<script language="javascript">
    var x = new ActiveXObject("ANamespace.AClass");

    x.CallApp(PassSomeValueForExampleQueryString); //instead of x.CallApp()

  </script>

有效,我必须做一个CONTROL + F5!

1 个答案:

答案 0 :(得分:1)

解决方案非常完美!它工作正常,我只需要做一个CONTROL + F5浏览器刷新!