2016-11-15 9 views
0

私のC#アプリケーションでJSONファイルから設定を読み込もうとしています。このシナリオでは、プレフィックスをconfigから読み込み、読み込み中に接尾辞を動的に追加するようなシナリオがあります。私はIterationPrefix + GetIterationSuffix()するIterationをしたい ConfigMap.csc# - JSON設定値に動的値を追加する

public class AppConfig 
{ 
    public Scenario[] Scenarios; 
} 

public class Scenario 
{ 
    public string Name { get; set; } 

    public string Iteration { get; set; } 

    public string ParentLinkId { get; set; } 

    private string GetIterationSuffix() 
    { 
     var quarters = new[] { 3, 3, 3, 4, 4, 4, 1, 1, 1, 2, 2, 2 }; 
     var currentDate = DateTime.Now; 
     var month = currentDate.ToString("MMMM"); 
     var year = currentDate.Month <= 6 ? currentDate.Year : (currentDate.Year + 1); 
     var quarter = quarters[currentDate.Month - 1]; 
     return "FY" + year + "\\Q" + quarter + "\\" + month; 
    } 
} 

以下のよう

config.json

{ 
    "Scenarios": [ 
    { 
     "Name": "Flights", 
     "IterationPrefix": "TeamIteration\\ABC\\123\\", 
     "ParentLinkId": 123 
    }, 
    { 
     "Name": "Parcels", 
     "IterationPrefix": "TeamIteration\\DEF\\234\\", 
     "ParentLinkId": 234 
    }, 
    { 
     "Name": "Cars", 
     "IterationPrefix": "TeamIteration\\FEG\\456\\", 
     "ParentLinkId": 456 
    } 
    ] 
} 

オブジェクトのマッピングがあります。正確にどのように達成できるかはわかりません。

私は次のように事前に

JsonConvert.DeserializeObject<AppConfig>(jsonstring); 

感謝をデシリアライズしようとしています!

答えて

0

は、これを行うGetIterationSuffixは、静的および内部ます

var scenarioDes = JsonConvert.DeserializeObject<AppConfig>(jsonstring); 
scenarioDes.Iteration = GetIterationSuffix(); 
関連する問題