小编Yod*_*dah的帖子

如何翻译CultureInfo语言名称

我知道有三种方法可以获得CultureInfo对象的完整语言名称.

CultureInfo.DisplayName   
CultureInfo.NativeName  
CultureInfo.EnglishName
Run Code Online (Sandbox Code Playgroud)

DisplayName以已安装的.net语言提供名称.
NativeName以"CultureInfos"语言提供名称.
EnglishName用英文命名(令人惊讶......)

因此,对于CultureInfo de-DE,这(在英语.net上安装)
德语
德语
德语

现在我的问题是:有没有办法用另一种语言来询问de-DE的语言名称?例如,我想要荷兰语的de-DE语言名称(这将是'Duits').

c# cultureinfo

21
推荐指数
2
解决办法
1万
查看次数

为什么IsAssignableFrom和GetInterface会给出不同的结果

我创建了一个这样的类型:

TypeBuilder tb = moduleBuilder.DefineType(myname, TypeAttributes.Class |
      TypeAttributes.Public, typeof(BaseClass), new Type[] { typeof(ImyInterface) });
Run Code Online (Sandbox Code Playgroud)

然后为构造函数,方法等提供了大量的生成代码.当我开始使用该类时,我发现了一些奇怪的东西.我想检查我创建的类型'myname'是否真的实现了ImyInterface.我希望以下两个语句都返回true:

// t is Type 'myName'
Type baseInterface = t.GetInterface(typeof(ImyInterface).name);   
if (baseType != null)
{
  // this is actually true, as I expected
}

if (typeof(ImyInterface).isAssignableFrom(t))
{
  // the if clause is false, but I don't have a clue why??
}
Run Code Online (Sandbox Code Playgroud)

所以我创建了一个实现ImyInterface的类,但它不能分配给ImyInterface类型的对象,我错过了什么?

顺便说一句,没有涉及泛型,接口只是测试概念的基本方法:

public interface ITestInterface
{
    int CalcSquaredInteger(int number);
}
Run Code Online (Sandbox Code Playgroud)

c# reflection inheritance

5
推荐指数
1
解决办法
650
查看次数

标签 统计

c# ×2

cultureinfo ×1

inheritance ×1

reflection ×1