ホームページ >バックエンド開発 >C#.Net チュートリアル >反射技術の実際の応用を要約します。
リフレクションの使用については以前にまとめましたが、この記事では、リフレクションの実践的な応用をまとめた完全なプロジェクトをまとめています。
は以下のとおりです:
プロジェクト ConsoleApplication6.IService では、2 つのインターフェイスが定義されています。次に示すように、Run は運転を表し、Trun はステアリングを表します。次のコード:
1 namespace ConsoleApplication6.IService 2 { 3 /// <summary> 4 /// 创建一个车的接口 5 /// </summary> 6 public interface ICarService 7 { 8 /// <summary> 9 /// 行驶10 /// </summary>11 void Run();12 13 /// <summary>14 /// 转向15 /// </summary>16 /// <param name="direction"></param>17 void Turn(Direction direction);18 19 }20 21 public enum Direction22 {23 East,24 Weast,25 South,26 North27 }28 }
プラグイン プログラムを実装するために、ここで 2 つの新しいプロジェクト、つまり ConsoleApplication6.Service.BMW と ConsoleApplication6.Service.BenZ が作成されます。コードは次のとおりです。
1 namespace ConsoleApplication6.Service.BMW 2 { 3 public class BMWCarService: ICarService 4 { 5 /// <summary> 6 /// 行驶 7 /// </summary> 8 public void Run() 9 {10 Console.WriteLine("BMW Car Run!");11 }12 13 /// <summary>14 /// 转向15 /// </summary>16 /// <param name="direction"></param>17 public void Turn(Direction direction)18 {19 Console.WriteLine(string.Format("BMW Car turn:{0}", direction.ToString()));20 }21 }22 }
1 namespace ConsoleApplication6.Service.BenZ 2 { 3 public class BenZCarService: ICarService 4 { 5 /// <summary> 6 /// 行驶 7 /// </summary> 8 public void Run() 9 {10 Console.WriteLine("BenZ Car Run!");11 }12 13 /// <summary>14 /// 转向15 /// </summary>16 /// <param name="direction"></param>17 public void Turn(Direction direction)18 {19 Console.WriteLine(string.Format("BenZ Car turn:{0}", direction.ToString()));20 }21 }22 }
次に、次のコードに示すように、リフレクションを使用してこのプラグイン プログラムを実行できます。同時に、同様のプラグインフレームワークを開発すれば、リフレクション技術にも幅広く活用できると考えられます。
以上が反射技術の実際の応用を要約します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。