Programming/C#

Programming/C#

User Setting 파일저장, 로드, 경로 지정

public class MySettings { public int MyNumber { get; set; } public string MyString { get; set; } public void Save() { using (Stream stream = File.Create(SettingsFile)) using (StreamWriter writer = new StreamWriter(stream, Encoding.UTF8)) { writer.WriteLine(MyNumber); writer.WriteLine(MyString); } } public static MySettings Load() { if (!File.Exists(SettingsFile)) return DefaultSettings; using (S..

Programming/C#

Is & As & Cast

static void Main(string[] args) { object[] objects = { new M3(), new Hooptie(), }; foreach (M3 obj in objects) { Console.WriteLine(obj); Is(obj); As(obj); Cast(obj); Console.WriteLine("------"); } } private static void Cast(object obj) { try { M3 m3 = (M3)obj; Console.WriteLine("(M3) returned {0}", m3); } catch (InvalidCastException) { Console.WriteLine("InvalidCastException"); } } private stati..

Programming/C#

Abstract & Virtual & Override

Abstract Method (추상 메소드) : base class에서 선언만 된다. : 파생 클래스에서 구현을 해야 한다. : abstract method 가 구현되어 있는 클래스는 abstract 제한자를 설정해야한다. ex) public abstract class MyCalss Virtual Method (가상 메소드) : base class에서 선언 및 구현이 가능하다. : 파생 클래스에서 재정의 할 있도록 되어있다. Virtual Method 사용하는 이유 : Virtual method를 선언하면, vtable이 생성되고, 이를 통해서 함수를 사용할 때 vtable을 참조하여 수행 속도를 향상시킨다. Override 재정의 : virtual, abstract method를 재정의할 때는 over..

Programming/C#

c# winform size 자동 변경 문제.

C# winform을 사용하면서 분명히 디자인은 특정 크기로 설정하였지만, 자동적으로 사이즈가 변경이 되어 로드가 되는 경우가 있다. 이럴 때에는, form 속성의 AutoSize를 false 로 설정하면 자동으로 변경되는 문제를 해결할 수 있다. 왜냐하면, AutoSizeMode 의 설정이 변경이 되면 해당 상태에 맞추어 자동으로 다시 레이아웃 되기 때문에 사이즈가 변경이 되는 경우가 발생한다. 이는 해당 폼에 새로운 컨트로을 추가하여도 동일한 이유로 레이아웃이 변경된다.

RichardBang
'Programming/C#' 카테고리의 글 목록 (5 Page)