2013-02-28 22 views
1

我有一種情況,在我有一個字符串中應該包含今天的日期.. 問題是我需要將該字符串包括今天的日期放在中。 resx文件。 有沒有辦法做到這一點? 例如 可以說,關於版權字符串 應該是版權-2012-ABC今天的日期是2012年 &的應該是版權-2013-ABC今天的日期是今年的2013如何在構建時C將RESX中的計算值置入#

編輯: 我要去只使用資源文件來做這個版權的事情。 對於其他所有事情,它將是靜態的,就像那個例子中那樣,每一年的價值都會隨着過去的一年而變化。

+2

爲什麼你不使用佔位符?在resx文件中,您可以使用「Actual year {year}」之類的東西,而在您的c#代碼中,如果您訪問resx文件,則可以解析{..} – Tomtom 2013-02-28 05:39:32

+0

問題的標題是「get today date from RESX「(不可能),但正文是」如何在建立時將計算值存入RESX「 - 請嘗試使標題和正文同意您的需求。 – 2013-02-28 05:43:16

回答

1

沒有內置的方式來增加「當前環境」值RESX(或任何其他C#的相關文件)。

但是你可以比較容易創建預生成規則,將調用自定義腳本/工具,將修改您的RESX文件,根據自己的喜好。

一個選擇它來創建工具,將genreate,後來包括在RESX文件的文件。這樣可以避免修改RESX文件本身(如果RESX處於源代碼管理下,這可能會產生問題)。根據您的需要,簡單的date /t > ..\..\out.txt與out.txt包括RESX可能就足夠了。

步驟包括在構建時創建成RESX文件:

  • 添加TextFile1.txt到項目
  • 在{} resourceFileName .resx文件(設計模式)降
  • 檢查如果使用新屬性更新{resourceFileName} .Designer.cs以訪問新資源的內容
  • 在解決方案資源管理器中選擇項目的屬性並打開「構建事件」選項卡
  • 添加「date/t>」。 ... \ TextFile1.txt」預生成步驟(將轉儲當前日期爲 「TextFile1.txt」
  • 建立和使用新的資源變量即Console.WriteLine(Resource1.TextFile1)

RESX樣本內容:

<data name="TextFile1" type="System.Resources.ResXFileRef, System.Windows.Forms"> 
    <value>textfile1.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value> 
    </data> 
0

resx用於存儲靜態資源。儘管在運行時或通過某種腳本編寫的開發時間內可能會發生黑客攻擊,但這兩種方法都會爲小功能帶來太多的複雜性。

如果你能澄清這樣的版權字符串的使用情況下,讀者可能能夠提供更具體的建議。說,你是否只使用字符串來顯示關於框?或程序集屬性?