2012年7月27日金曜日

開発環境

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

練習13-3.

コード

using System;

namespace Sample
{
    interface IConvertible
    {
        string ConvertToCSharp(string str);
        string ConvertToVB(string str);
    }
    interface ICodeChecker : IConvertible
    {
        bool CodeCheckSyntax(string str, string lang);
    }
    class ProgramHelper : ICodeChecker
    {
        public ProgramHelper()
        {
            Console.WriteLine("ProgramHelperを作成");
        }
        #region IConvertible
        public string ConvertToCSharp(string str)
        {
            return "C#の文字列に変換中・・・";
        }
        public string ConvertToVB(string str)
        {
            return "VBの文字列に変換中・・・";
        }
        #endregion
        public bool CodeCheckSyntax(string str, string lang)
        {
            if (lang == "C#" || lang == "VB")
            {
                return true;
            }
            return false;
        }
    }
    class Tester
    {
        public void Run()
        {
            string str = "文字列";
            string cs = "C#";
            string vb = "VB";
            string js = "JavaScript";
            string[] langs = { cs, vb, js };
            ProgramHelper ph = new ProgramHelper();
            Console.WriteLine(ph.ConvertToCSharp(str));
            Console.WriteLine(ph.ConvertToVB(str));
            for (int i = 0; i < langs.Length; i++)
            {
                Console.WriteLine("{0}: {1}",
                    langs[i], ph.CodeCheckSyntax(str, langs[i]));
            }
        }
        static void Main()
        {
            Tester t = new Tester();
            t.Run();
        }
    }
}

入出力結果(Console Window)

ProgramHelperを作成
C#の文字列に変換中・・・
VBの文字列に変換中・・・
C#: True
VB: True
JavaScript: False
続行するには何かキーを押してください . . .

0 コメント:

コメントを投稿