//コード片の内容を指定します public void SetContents(string content) { foreach (var block in _fragments) { //すでに現在の言語に対する言語依存ブロックがある場合 if (block.GetLanguageType() == _currentLanguageType) { block.SetContents(content); return; } } //現在の言語に対する言語依存ブロックがなかった場合 var newBlock = new LanguageDependBlock(); newBlock.SetLanguageType(_currentLanguageType); newBlock.SetContents(content); _fragments.Add(newBlock); }