【发布时间】:2017-09-06 20:16:58
【问题描述】:
C# 你好,
我正在构建一个 Dll,我的所有自定义控件都位于其中(按钮、自定义消息框等)。我想在多个应用程序中使用这些控件。
应用程序是多语言的。
问题是每个应用程序都有不同的方式来翻译文本。例如,我有一个自定义按钮,该按钮有一个名为KeywordText 的属性:这意味着我给他一个关键字,例如“First.Run”,该按钮将其翻译为“这是您第一次运行此应用程序”。
在一个软件中,通过调用Config.Translation["First.Run"]; 翻译文本。在其他应用程序中,它的处理方式不同。
我的问题是,我可以在我的 dll 中创建一个名为“TranslateText(string text)”的方法吗?然后在每个程序中定义它,而不是在 dll 本身中。例如在 1. Application 我会定义它
public string TranslateText(string text){
return Config.Translation[text];
}
在我的 CustomButton 中,我会设置如下文本:this.Text=TranslateText(keyword);。
然后,该按钮应从使用该按钮的应用程序中调用 TranslateText() 方法。
希望你明白我的意思:)
【问题讨论】:
-
是的,这是可能的!
-
如何?我用接口和抽象类尝试过,但都没有成功,你能给我发个链接或解释一下吗?