2009-11-25 48 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