2009-12-02 17 views

Trả lời

17

Khi bạn phải tự động tạo một phần của các lớp đó và viết phần còn lại của nội dung của các lớp.

Điều này là để bạn có thể đặt nội dung do máy tạo trong một tệp và mã được mã hóa bằng tay vào một tệp khác. Ưu điểm của việc này là khi bạn phải tạo lại mã nguồn, phần mã được viết tay của bạn sẽ không bị xóa sổ.

Đây là cách MS tạo ra nội dung lớp học cho các nhà thiết kế giao diện của nó (nghĩ về những *.designer.cs tập tin), và cho phép bạn đặt thịt của logic của bạn trong tập tin khác có liên quan (*.cs)

5

Nếu bạn đã tự động tạo ra mã bạn muốn mở rộng, một lớp học một phần là một cách tuyệt vời để làm điều đó.

Ví dụ: mở rộng các lớp LINQ to SQL được tạo.

3

Cho phép nói rằng bạn có trình xử lý sự kiện và mã GUI khác ở một nơi và muốn giữ mã không liên quan đến GUI khác ở một nơi. Mẫu MVC không dễ trong C#.

+2

Tại sao không có mã GUI trong một * lớp * và mã phi GUI trong một lớp * *? –

+1

Bạn đang sống trong thế giới lý tưởng, hầu hết mã C# đều có logic nghiệp vụ được viết trong bộ xử lý sự kiện. Ít nhất là có một phần các lớp và trích xuất cung cấp một số loại quản lý mã tốt hơn, cũng loại tái cấu trúc này có thể được thực hiện dễ dàng trong VS –

6

Giống như những người khác đã nói, mã được tạo tự động là một lý do chính đáng. Tôi cũng sử dụng một phần lớp đôi khi tôi muốn đặt một lớp lồng nhau trong tập tin riêng của mình.

public partial class MyClass 
{ 
    private class NestedClass 
    { 
     ... 
    } 
} 

Thêm vào đó có một mẹo nhỏ để lồng một tệp vào trình khám phá giải pháp (làm như winform và lồng tệp Form1.designer.cs).

<Compile Include="Foo.1.cs"> 
    <DependentUpon>Foo.cs</DependentUpon> 
</Compile> 

Nesting file in Visual Studio

Các vấn đề liên quan