2009-11-25 261 views
2
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ConsoleApplication 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var x = Environment.GetResourceString("test"); //compile-time error 
     } 
    } 
} 

错误是:'System.Environment'不包含'GetResourceString'的定义。无法使用Environment.GetResourceString静态方法

编辑:OP曾表示,他的使用契约框架,V3.5。

我没有得到图片,我的代码有什么问题?谢谢!

回答

4

Environment.GetResourceString根据MSDN,只出现在精简版的2.0版本中。如果这篇文章是可以相信的,它在标准框架中从来就不存在。

你想做什么?如果它是本地化,那么您可能需要ResourceManager.GetString

System.Resources.ResourceManager myManager = new 
    System.Resources.ResourceManager("ResourceNamespace.myResources", 
    myAssembly); 

// Retrieves String and Image resources. 
string myString = myManager.GetString("StringResource"); 
+0

那么,这只是精简框架? (我的目标是.NET 3.5)是的,它将用于本地化。 BCL中的某个班级如何使用此方法(根据Reflector)? – Stringer 2009-11-25 01:48:48

+0

您是否在观察到某些BCL内部使用它后尝试使用此方法?我不会推荐。我的猜测是,该方法被标记为“内部”,并可能标记有“InternalsVisibleTo”,以允许在BCL中使用,但不在其外部。 – 2009-11-25 01:57:43

+0

CF中支持ResourceManager,它的使用将是正确的方法。 – 2009-11-25 01:59:29