안녕하세요. 구스입니다. 오랜만에 C# 강좌 글을 남기네요. 이 글에서 C# Var와 Dynamic(다이나믹)에 대한 소개를 해드릴까 합니다. C# var는 Visual Studio 2008, .NET Framework 3.5 버전에서 나왔고, Dynamic(다이나믹)은 Visual Studio 2010, .NET Framework 4.0 버전에서 소개가 되었습니다. C# Var란 무엇일까요? Var는 데이터 타입을 개발자가 아닌 컴파일러가 결정하게 끔 만드는 키워드(Keyword)입니다. 일반적으로 C#에서는 int, double, string, float와 같이 개발자가 사용하고자는 데이터 타입을 결정하게 됩니다. 이를 명시적 선언이라고 이야기 합니다. 하지만 데이터 타입이 임의적으로 타입이 변경이 ..
안녕하세요. 구스입니다. 요새 C#을 다시 재정리 하는 김에 관련 내용을 계속 업데이트 하네요. 오늘은 특정 클래스의 타입을 알아보는 방법에 대해서 이야기 해볼까 하는데요. 특정 어셈블리에서 보유하고 있는 타입의 상세 정보를 알기 위해서는 어떻게 해야 할까요? 예를 한번 생각해봅시다. Employee라는 클래스가 있다고 가정을 해봅시다. 특정 어셈블리 A에서 어셈블리 B에 포함되어 있는 Employee의 Instance(인스턴스)를 사용하고 있습니다. 개발자는 이러한 Instance를 사용하기 위해서는 어셈블리 B를 가져와야 하며(Load), 이를 통해서 Employee 클래스가 가지고 있는 멤버, 함수, 속성등을 사용할 수 있습니다. 또한 Employee 클래스를 생성하여 Instance화 한뒤 이에 ..
이 글에서는 C#에서 선언할 수 있는 명시적선언과 암시적선언에 대해서 알아보도록 하겠습니다. 명시적선언은 Explicit라는 용어를 많이들 쓰고, 암시적선언은 Implicit라는 말을 많이 씁니다. 이 두가지 선언 방법의 차이는 바로 변수 선언시 타입을 같이 선언하느냐 하지 않느냐인데요. Explicit : 변수의 타입을 지정하지 않고 var라는 타입을 통해서 선언합니다.Implicit : 변수의 타입을 지정해야 합니다. .NET에서 또한 Explicit와 Implicit 모두 지원을 하고 있습니다.간단히 int형의 데이터 타입 변수를 선언하고자 한다면 사용자는 아래와 같이 변수를 선언할 수 있습니다. int i = 0; //명시적 선언(Explicit) 하지만 var라는 명령어를 통해서도 C#에서는 변..
닷넷 런타임은 다른 머신으로부터의 악의적인 코드가 침투할 수 없도록 만들어져있습니다. 그 이유는 CLR을 기반으로 보안 사항을 유지하게 끔 설계가 되어 있기 때문이죠. 하지만 분산 시스템에서는 다른 머신으로 부터 코드를 다운로드 받아서 프로그램의 기능이 수행되야 하는 경우가 있는데, 이러한 경우 보안에 문제가 생길 수도 있습니다. 따라서 인터넷 혹은 웹에서 수행되는 경우 CLR의 제한된 환경내에서 처리가 되어야 합니다. 특정 어셈블리가 Full Trust의 조건에 만족하지 않는다면 CLR이 이 어셈블리를 처리할 때 모든 기능이 되지 않을 수도 있습니다. 이것을 C#에서는 Code Access Security(CAS)라고 합니다. CLR은 롤 기반의 보안(Role-Based Security)를 적용하고 있..
이 글에서는 Command 기반의 어플리케이션을 개발 할 때 args 파라미터에 값을 전달하는 방법에 대해서 알아보도록 하겠습니다. 일반적으로 args에 값을 전달하기 위해서는 아래와 같은 방법이 사용됩니다. 직전 Commnad 창에서 exe 파일을 실행하면서 exe 파일 뒤에 파라미터 값을 넣는것인데요. 사용방법은 실행파일이름.exe 값1 값2 값3 의 형태로 사용할 수 있습니다. 값1, 값2, 값3, ..., 값n은 사용자가 입력한 만큼 args 배열에 입력이 되게 됩니다. 값1-3까지 넣으면 3개의 값이, 1-10까지 값을 넣으면 10개의 배열이 되는 것이죠. 아래의 그림은 1, 2, 3을 args에 넣기위해서 제가 작성한 결과입니다. 위의 코드를 실행한 코드를 한번 볼까요. using System..