|
|
# C# 4.0 : 선택적 매개변수(Optional Parameter)와 명명된 인자(Named Argument)
|
|
|
|
|
|
### 선택적 매개변수(Optional Parameter)
|
|
|
메서드의 매개변수 가운데 전달되지 않는 인자가 있는 경우 미리 지정된 기본값을 사용하는 것을 의미한다.
|
|
|
|
|
|
```csharp
|
|
|
class Person
|
|
|
{
|
|
|
public void Output(stringname, intage = 0, stringaddress = "Korea")
|
|
|
{
|
|
|
Console.Write(string.Format("{0}: {1} in {2}", name, age, address));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
class Program
|
|
|
{
|
|
|
static void Main(string[] args)
|
|
|
{
|
|
|
Person p = newPerson();
|
|
|
p.Output("Anders");
|
|
|
p.Output("Winnie", 36);
|
|
|
p.Output("Tom", 28, "Tibet");
|
|
|
}
|
|
|
}
|
|
|
```
|
|
|
|
|
|
### 명명된 인자
|
|
|
인자의 이름으로 호출하는 측에서 값을 전달하는 기능이다.
|
|
|
|
|
|
```csharp
|
|
|
Person p = new Person();
|
|
|
p.Output(address: "Tibet", name: "Tom");
|
|
|
p.Output(age: 5, name: "Tom", address: "Tibet");
|
|
|
p.Output(name: "Tom");
|
|
|
```
|
|
|
|
|
|
# C# 4.0 : dynamic 예약어
|
|
|
`dynamic`은 프로그램 실행 시에 결정되는 동적 타입이다.
|
|
|
|
|
|
|
|
|
```csharp
|
|
|
class Program
|
|
|
{
|
|
|
static void Main(string[] args)
|
|
|
{
|
|
|
dynamic d = 5;
|
|
|
Console.WriteLine(d.ToString());
|
|
|
|
|
|
d = "abcde";
|
|
|
Console.WriteLine(d.ToString());
|
|
|
}
|
|
|
}
|
|
|
```
|
|
|
# C# 5.0 : 호출자 정보
|
|
|
|
|
|
C++의 3가지 매크로상수에 대응__FUNCTION__, __FILE__, __LINE__,
|
|
|
|
|
|
```csharp
|
|
|
usingSystem;
|
|
|
usingSystem.Runtime.CompilerServices;
|
|
|
class Program
|
|
|
{
|
|
|
static void Main(string[] args)
|
|
|
{
|
|
|
LogMessage("테스트로그");
|
|
|
}
|
|
|
|
|
|
static void LogMessage(string text,
|
|
|
[CallerMemberName] string member = "",
|
|
|
[CallerFilePath] string file = "",
|
|
|
[CallerLineNumber] int line = 0)
|
|
|
{
|
|
|
Console.WriteLine("텍스트: "+ text);
|
|
|
Console.WriteLine("호출한 메서드이름: "+ member);
|
|
|
Console.WriteLine("호출한 소스코드의 파일명: "+ file);
|
|
|
Console.WriteLine("호출한 소스코드의 라인번호: "+ line);
|
|
|
}
|
|
|
}
|
|
|
```
|
|
|
|
|
|
# C# 5.0 : 비동기 호출
|
|
|
[이전 글 참조](http://intra.novonetworks.com:8073/paul/c-sharp-study/wikis/paul-csharp-6.task#%EB%B9%84%EB%8F%99%EA%B8%B0-%ED%98%B8%EC%B6%9C)
|
|
|
|
|
|
# C# 6.0 :
|
|
|
|
|
|
C# 4.0
|
|
|
http://blog.naver.com/netscout82/20107769107
|
|
|
|
|
|
C# 6.0
|
|
|
http://blog.naver.com/netscout82/220296094369 |
|
|
\ No newline at end of file |