開発環境
- OS: Windows 10 Pro
- IDE(統合開発環境): Visual Studio Community 2017
初めてのC# 第2版 (Jesse Liberty (著)、Brian MacDonald (著)、日向 俊二 (翻訳)、オライリージャパン)の13章(インターフェース)、13.10(練習問題)、練習13-4.を取り組んでみる。
コード
using System;
class Program
{
static void Main(string[] args)
{
ProgramHelper ph = new ProgramHelper();
ProgramConverter pc = new ProgramConverter();
Console.WriteLine("ProgramHelper");
Console.WriteLine("is演算子");
if (ph is ICodeChecker)
{
ICodeChecker codeChecker1 = ph as ICodeChecker;
Console.WriteLine(codeChecker1.CodeCheckSyntax("", ""));
}
Console.WriteLine("as演算子");
ICodeChecker codeChecker = ph as ICodeChecker;
if (codeChecker != null)
{
Console.WriteLine(codeChecker.CodeCheckSyntax("", ""));
}
Console.WriteLine("ProgramConverter");
Console.WriteLine("is演算子");
if (pc is ICodeChecker)
{
ICodeChecker codeChecker1 = pc as ICodeChecker;
Console.WriteLine(codeChecker1.CodeCheckSyntax("", ""));
}
Console.WriteLine("as演算子");
ICodeChecker codeChecker2 = pc as ICodeChecker;
if (codeChecker2 != null)
{
Console.WriteLine(codeChecker2.CodeCheckSyntax("", ""));
}
}
}
interface IConvertible
{
string ConvertToCSharp(string s);
string ConvertToVB(string s);
}
interface ICodeChecker: IConvertible
{
bool CodeCheckSyntax(string s, string lang);
}
class ProgramConverter : IConvertible
{
public string ConvertToCSharp(string s)
{
return "VBの文字列をC#に変換";
}
public string ConvertToVB(string s)
{
return "C#の文字列をVBに変換";
}
}
class ProgramHelper : ProgramConverter, ICodeChecker
{
public bool CodeCheckSyntax(string s, string lang)
{
return true;
}
}
入出力結果(コマンドプロンプト)
ProgramHelper is演算子 True as演算子 True ProgramConverter is演算子 as演算子 続行するには何かキーを押してください . . .
0 コメント:
コメントを投稿