>  기사  >  백엔드 개발  >  C# 2.0 규격(3)

C# 2.0 규격(3)

黄舟
黄舟원래의
2017-01-03 10:16:121318검색

(계속)

19.4 불완전한 유형

한 유형의 모든 소스 코드를 단일 파일에 유지하는 것이 좋은 프로그래밍 관행이지만 때로는 유형이 매우 커지거나 비현실적인 한계가 됩니다. 또한 프로그래머는 소스 코드 생성기를 사용하여 애플리케이션의 초기 구조를 생성하고 결과 코드를 수정하는 경우가 많습니다. 안타깝게도 나중에 소스 코드를 다시 내보내면 기존 수정 사항을 덮어쓰게 됩니다.

불완전한 유형(부분 유형)을 사용하면 클래스, 구조 및 인터페이스를 여러 부분으로 분할하고 다른 소스 파일에 저장할 수 있으므로 개발 및 유지 관리가 더 편리합니다. 또한 불완전한 유형을 사용하면 특정 유형의 기계 생성 부분과 사용자 작성 부분을 분리할 수 있으므로 도구로 생성된 코드를 쉽게 확장할 수 있습니다.

여러 부분으로 유형을 정의할 때 새로운 유형 수정자 부분을 사용할 수 있습니다. 다음은 두 부분으로 구현된 불완전한 클래스의 예입니다. 예를 들어 첫 번째 부분은 데이터베이스 매핑 도구를 통해 기계 생성되고 두 번째 부분은 손으로 생성되기 때문에 두 부분은 서로 다른 소스 파일에 있을 수 있습니다.

public partial class Customer
{
private int id;
private string name;
private string address;
pivate List<Order> orders;
public Customer()
{
…
}
}
public partial class Customer
{
public void SubmitOrder(Order order)
{
orders.Add(order);
}
public bool HasOutstandingOrders()
{
return orders.Count>0;
}
}

앞의 두 부분을 함께 컴파일하면 결과 코드는 단일 단위로 작성된 클래스와 동일합니다.

public class Customer
{
private int id;
private string name;
private string address;
pivate List<Order> orders;
public Customer()
{
…
}
public void SubmitOrder(Order order)
{
orders.Add(order);
}
public bool HasOutstandingOrders()
{
return orders.Count>0;
}
}

컴파일 시 해당 부분이 함께 융합될 수 있도록 불완전한 유형의 모든 부분을 함께 컴파일해야 합니다. 특히 불완전한 유형은 이미 컴파일된 유형에 대한 확장을 허용하지 않습니다.

위 내용은 C# 2.0 Sepcification(3)의 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:C# 2.0 사양(이)다음 기사:C# 2.0 사양(이)