【问题标题】:Creating Dynamic Menus - calling extern Function创建动态菜单 - 调用外部函数
【发布时间】:2010-09-27 15:16:52
【问题描述】:

我需要使用 extern 函数创建一个动态菜单,所以我们可以在任何地方使用它,以下是完整的要求:

请在母版页顶部创建一个动态水平链接菜单。这将是显示在每一页上的菜单。我们需要能够从后面的代码中设置此页面上的链接。我们要设置的信息是链接文本和链接路径(href)。这背后的想法是,根据谁登录到应用程序,以及他们在哪个页面上,会有不同的链接可能性。我们应该使这段代码可重用。实际布置链接的过程如下所示:

public static extern void SetDynamicLinks(Control ContainingControl, string[] arLinkTitles, string[] arLinks) { …code… }

我们将从母版页的 Page_Load 中调用一个过程,该过程将决定我们需要显示哪些链接。此过程将取决于应用程序。然后,此过程将调用上面提到的“SetDynamicLinks”过程,向其传递所需的参数,以在传递的容器控件中建立正确的链接。

以上任何帮助,将不胜感激。提前致谢。

【问题讨论】:

  • 来自MSDN: "extern 修饰符用于声明在外部实现的方法。extern 修饰符的常见用途是与 DllImport 属性一起使用" --我们在这里谈论的是同一个extern 吗?
  • @dtb 是的,这是同一个 extern。
  • 那么,您的问题是什么?我们无法为您完成所有工作。
  • @dtb - 谢谢,我明白了,我只需要帮助和线索如何做同样的事情。如果您能提供一些线索,将不胜感激
  • 说实话,我不太明白你想要达到什么目的。您在动态创建菜单方面需要帮助吗?这与从 C# 调用非托管 C/C++ 有何关系?

标签: c# asp.net


【解决方案1】:

这个问题没有意义,如果这是你被要求做的,那么你会假设:

已经有一个由其他人开发的 SetDynamicLinks 方法并且存在于一个非托管的外部 dll 中,因此您可以使用 extern 来调用它..

或者,他们要求您使用 C++ 创建非托管 dll,该 dll 将包含 SetDynamicLinks 方法,然后其他人可以使用 extern 调用......

【讨论】:

    猜你喜欢
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2020-10-25
    • 1970-01-01
    相关资源
    最近更新 更多