반응형

C#/실습으로 다지는 C# 20

런타임에 라이브러리 로드하기 - .NET 리플렉션 [C#]

테스트에 사용할 라이브러리 소스 코드(클래스 라이브러리로 제작) using System; namespace DemoLib { public class Demo { int num; public int Num { get { return num; } } public int Add(int a,int b) { Console.WriteLine("Add 메서드 호출 됨:{0},{1}", a, b); return a + b; } public Demo(int n) { Console.WriteLine("Demo 생성자 호출됨:{0}", n); num = n; } public static void Foo(string msg) { Console.WriteLine("Foo 메서드 호출됨:{0}", msg); } } } 명시적으로..

[C# 소스] 21. 콘솔 응용의 기본 제어 – 메뉴로 상호 작용

소스 코드 Application.cs using System; namespace 콘솔_응용_상호_작용_개요___메뉴 { class Application { #region 단일체 internal static Application Singleton { get; private set; } static Application() { Singleton = new Application(); } Application() { } #endregion 단일체 internal void Init() { Console.WriteLine("콘솔 응용의 기본 제어 - 메뉴로 상호 작용"); Console.WriteLine("아무 키나 누르면 시작합니다."); Console.ReadKey(true); } internal void Ru..

[C# 소소] 콘솔 글자 색 바꾸기 - Windows API 사용

소스 코드 WrapAPI.cs using System; using System.Runtime.InteropServices; namespace Windows_API_활용하여_콘솔_글자색_바꾸기 { public enum ConTextColor { LACK, BLUE, GREEN, JADE, RED, PURPLE, YELLOW, WHITE, GRAY, LIGHT_BLUE, LIGHT_GREEN, LIGHT_JADE, LIGHT_RED, LIGHT_PURPLE, LIGHT_YELLOW, LIGHT_WHITE }; public static class WrapAPI { [DllImport("Kernel32.dll")] static extern int SetConsoleTextAttribute(IntPtr hCons..

19. 택배 요금 계산 시뮬레이션 C#

소스 코드 City.cs using System; namespace 택배_요금_계산_시뮬레이션 { public class City { readonly double relative_position; public string Name { get; private set; } public City(string name, double relative_position) { Name = name; this.relative_position = relative_position; } public double CalculateDistance(City city) { double distance = relative_position - city.relative_position; return Math.Abs(distance); }..

[018] C# 실현 관계(Realization) 실습

소스 코드 IStudy.cs namespace 실현_관계 { interface IStudy { void Study(); } } Man.cs namespace 실현_관계 { class Man { string name; public Man(string name) { this.name = name; } public override string ToString() { return name; } } } Student.cs using System; namespace 실현_관계 { class Student : Man, IStudy { readonly int sn; public Student(string name,int sn):base(name) { this.sn = sn; } public void Study() { ..

[016] 의존(Dependency) 관계 실습

소스 코드 Item.cs namespace 의존_관계 { public class Item { string text; public string Text { get { return text; } set { text = value; BindingSystem.ChangedValue(this); } } public Item(string text) { this.text = text; } public override string ToString() { return text; } } } ItemControl.cs using System; namespace 의존_관계 { public class ItemControl { bool isshow; public Item Item { get; set; } public string..

[015] C# 연관 관계(Association) 실습 – 의사, 약사

소스 코드 Druggist.cs using System; namespace 연관_관계_실습 { class Druggist { public void WorkWith(Doctor doctor) { Console.WriteLine("약사 - WorkWith"); doctor.WorkWith(this); Hasty(); } public void Hasty() { Console.WriteLine("조재하다."); } } } Doctor.cs using System; namespace 연관_관계_실습 { class Doctor { public void WorkWith(Druggist druggist) { Console.WriteLine("의사 - WorkWith"); druggist.WorkWith(this); T..

[014] C# 직접 연관 관계(Direct Association) 실습 – 계산기, 사각형

소스 코드 Rectangle.cs namespace 직접_연관_관계_실습 { class Rectangle { public int Height { get; private set; } public int Width { get; private set; } public Rectangle(int height, int width) { Height = height; Width = width; } } } Calculator.cs namespace 직접_연관_관계_실습 { class Calculator { public int CalculateArea(Rectangle rectnagle) { int width = rectnagle.Width; int height = rectnagle.Height; return width ..

[013] C# 구성(Composition) 관계 실습 - 쇼핑 센터, 상품

소스 코드 Eye.cs using System; namespace 구성_관계_실습 { class Eye { double sight; bool opened; public bool Opened { get { return opened; } } public Eye(double sight) { this.sight = sight; } public void Open() { Console.WriteLine("앞이 보이네. 시력:{0}", sight); opened = true; } public void Close() { Console.WriteLine("앞이 컴컴"); opened = false; } public void See() { if(opened) { Console.WriteLine("앞이 잘 보여"); } e..

[012] C# 집합 관계 실습 - 쇼핑 센터, 상품

소스 코드 Product.cs namespace 집합_관계 { public class Product { public string Name { get; private set; } public int Price { get; private set; } public string Company { get; private set; } readonly int pn; public int PN { get { return pn; } } static int lastpn; public Product(string name,int price,string company) { Name = name; Price = price; Company = company; lastpn++; pn = lastpn; } public override ..

반응형