【问题标题】:How to determine a .Net program's entry point at runtime?如何在运行时确定 .Net 程序的入口点?
【发布时间】:2017-10-02 12:01:23
【问题描述】:

假设我的程序中有两种类型,FooBar。两者都有static void Main(string[] args)。要编译这个程序,需要一个编译器标志/main:class

是否可以在运行时确定这两种类型中的哪一种包含入口点,即,让TypeInfoMethodInfo 指向正确的类或正确的Main 方法?

UPD:更准确地说,是否可以从链接到主应用程序的类库中执行此操作(即,无需事先了解可能的选项)?

【问题讨论】:

  • static bool WasStartedFromBar => class Bar... Main(string[] args) => WasStartedFromBar = true ?
  • 回首过去(我是如何开始的)或使用 ReflectionOnlyLoad 查看另一个 EXE?
  • 你的意思是像System.Reflection.Assembly.GetEntryAssembly().EntryPoint
  • 只有一个入口点“Main”方法,然后在该方法中运行条件代码,决定应该执行哪个Foo.mainbar.main

标签: c# reflection


【解决方案1】:

一个程序集有一个public virtual MethodInfo EntryPoint { get; }

【讨论】:

    猜你喜欢
    • 2018-07-10
    • 2015-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多