2012年6月12日火曜日

開発環境

  • Microsoft Windows 7 Home Premium (OS)
  • Microsoft Visual C# 2010 Express Edition (IDE)
  • 言語: C#

『初めてのC# 第2版』(Jesse Liberty+Brian MacDonald著、日向俊二訳、オライリー・ジャパン、2006年、ISBN978-487311-294-7)の 第13章(インタフェース)13.10(練習問題)、練習13-3を解いてみる。

練習13-3.

コード

using System;

namespace Sample
{
    public interface IConvertible
    {
        string ConvertToCSharp(string str);
        string ConvertToVisualBasic(string str);
    }
    public interface ICodeChecker
    {
        bool CodeCheckSyntax(string str, string lang);
    }
    public class ProgramHelper : IConvertible, ICodeChecker
    {
        #region IConvertible
        public string ConvertToCSharp(string str)
        {
            return "C#の文字列に変換中・・・";
        }
        public string ConvertToVisualBasic(string lang)
        {
            return "Visual Basicの文字列に変換中・・・";
        }
        #endregion
        #region ICodeChecker
        public bool CodeCheckSyntax(string str, string lang)
        {
            switch (lang)
            {
                case "C#":
                case "Visual Basic": return true; break;
                default:
                    return false;
            }
        }
        #endregion
    }
    class Tester
    {
        public void Run()
        {
            ProgramHelper ph = new ProgramHelper();
            string str = "文字列";
            string cs = "C#";
            string vb = "Visual Basic";
            string js = "JavaScript";
            string[] langs = { cs, vb, js };
            foreach (string lang in langs)
            {
                Console.WriteLine(lang);
                if (ph.CodeCheckSyntax(str, lang))
                {
                    Console.WriteLine(ph.ConvertToCSharp(str));
                    Console.WriteLine(ph.ConvertToVisualBasic(str));
                }
                else
                {
                    Console.WriteLine("構文チェックできない。");
                }
            }
        }
        static void Main()
        {
            Tester t = new Tester();
            t.Run();
        }
    }
}

入出力結果(Console Window)

C#
C#の文字列に変換中・・・
Visual Basicの文字列に変換中・・・
Visual Basic
C#の文字列に変換中・・・
Visual Basicの文字列に変換中・・・
JavaScript
構文チェックできない。
続行するには何かキーを押してください . . .

0 コメント:

コメントを投稿