C# 将模块名称传递给模块构造函数

C# 将模块名称传递给模块构造函数,c#,silverlight,prism,unity-container,C#,Silverlight,Prism,Unity Container,我正在创建一个Silverlight应用程序,它将加载用户定义的模块 最棘手的是:我不知道会有什么模块,所以我不知道模块的名称 我遇到了一个小问题:当加载用户创建的模块时,它不知道它的名称(引导程序在运行时知道它),我需要某种名称来跟踪应用程序使用的所有模块 这基本上归结为:我想告诉模块在模块构造函数中它的预期名称是什么(一个简单的字符串) 但是,在Unity中,您只能将接口传递给模块,对吗?而且,即使我使用字符串属性创建了一些非常简单的接口,我如何确保每个模块都获得正确的名称(或者如何传递该接

我正在创建一个Silverlight应用程序,它将加载用户定义的模块

最棘手的是:我不知道会有什么模块,所以我不知道模块的名称

我遇到了一个小问题:当加载用户创建的模块时,它不知道它的名称(引导程序在运行时知道它),我需要某种名称来跟踪应用程序使用的所有模块

这基本上归结为:我想告诉模块在模块构造函数中它的预期名称是什么(一个简单的字符串)


但是,在Unity中,您只能将接口传递给模块,对吗?而且,即使我使用字符串属性创建了一些非常简单的接口,我如何确保每个模块都获得正确的名称(或者如何传递该接口的正确实例)?

例如,模块本身肯定定义了自己的名称

[Module(ModuleName="Module Name Goes Here")]
public class SomeModule : ModuleBase
{
    ....
}

为什么要告诉它自己的名字?

我知道这是PRISM的基本原理。。。然而,我希望能够改变这一点。这个想法是应用程序对模块的实际调用并不感兴趣;它需要的是跟踪加载的模块,为此,它需要跟踪内部名称或ID。目前,要求模块具有与用于加载所述模块的配置文件匹配的名称,但如果可能,我希望取消此限制。