Mục lục:
Định nghĩa - Thuộc tính Directional có nghĩa là gì?
Các thuộc tính định hướng, trong C #, là các thẻ được sử dụng để chỉ định (các) tham số phương thức đối tượng với thông tin liên quan đến luồng dữ liệu định hướng giữa người gọi và callee.
Các thuộc tính định hướng kiểm soát việc sắp xếp theo thứ tự - trong đó một đối tượng được chuẩn bị để chuyển qua một ứng dụng hoặc quá trình ranh giới - của các giá trị hướng và trả về của tham số phương thức. Các thuộc tính định hướng được áp dụng để sửa đổi việc sắp xếp thời gian chạy trong khi giao tiếp mã được quản lý, được thực thi bởi Thời gian chạy ngôn ngữ chung (CLR) và mã không được quản lý, được thực thi bên ngoài sự kiểm soát của CLR.
Techopedia giải thích các thuộc tính định hướng
InAttribution và OutAttribution là hai thuộc tính định hướng C # được sử dụng để ánh xạ tới các thuộc tính Ngôn ngữ định nghĩa giao diện (COM) của Mô hình đối tượng thành phần (ID). Bản đồ InAttribution đến và bản đồ OutAttribution tới. Chữ ký phương thức được quản lý trả về giá trị ánh xạ tới trong một thư viện kiểu. Điều cần thiết là chỉ định thuộc tính định hướng đúng cho các tham số phương thức, để thư viện kiểu xuất xuất đặt chính xác các bit vào / ra.
Bằng cách áp dụng InAttribution và OutAttribution trong các mảng và các loại không thể định dạng được định dạng (không có biểu diễn bộ nhớ được quản lý và không được quản lý chung), người gọi sẽ thấy các thay đổi của callee. Các thuộc tính định hướng được áp dụng cho các loại này làm giảm các bản sao không cần thiết trong quá trình sắp xếp.
Trong C #, InAttribution và OutAttribution được sử dụng ở ba dạng với hai từ khóa trong quá trình giao tiếp của người gọi và callee, như sau:
- "ra" - ngụ ý
- "ref" - Ngụ ý,
- (Không quy định) - (theo mặc định)
Các từ khóa out và ref được sử dụng cho các loại giá trị và các loại tham chiếu tuần tự hóa. Từ khóa ref ngụ ý rằng tham số được sắp xếp theo cả hai hướng và ra hàm ý truyền dữ liệu callee. Khi ref hoặc out không được sử dụng, điều này ngụ ý dữ liệu được chuyển đến callee.
Ví dụ, một ứng dụng máy khách .NET gửi một giá trị đầu vào cho một phương thức thành phần COM, tính toán kết quả giá trị đầu vào và trả về kết quả cho máy khách. Các thuộc tính định hướng có thể được áp dụng cho các tham số của phương thức phục vụ yêu cầu bằng cách chỉ ra loại sắp xếp theo yêu cầu cho giá trị đầu vào và kết quả.
Thuộc tính định hướng có các đặc điểm sau:
- Tùy chọn và áp dụng cho các tham số phương thức tại thời điểm thiết kế
- Chỉ được hỗ trợ cho COM interop và nền tảng gọi
- InAttribution không thể được áp dụng cho một tham số có từ khóa out
Trình sắp xếp xen kẽ CLR cung cấp dịch vụ sắp xếp theo thời gian chạy bằng cách xử lý các đối số cuộc gọi phương thức và trả về giá trị giữa bộ nhớ được quản lý và không được quản lý. Nếu các thuộc tính định hướng không được xác định, bộ soái xác định luồng định hướng dựa trên loại tham số và công cụ sửa đổi (nếu có). Nguyên soái hoạt động theo cách sau:
- Nó không ghi đè lên dữ liệu được truyền dưới dạng tham số "In" từ mã không được quản lý. Do đó, chỉ dữ liệu chỉ đọc, như dữ liệu được truy cập đồng thời, có thể được thông qua.
- Trong khi truyền các đối tượng - chẳng hạn như chuỗi cơ bản hoặc nhị phân (BSTR) - với phân bổ bộ nhớ đã thiết lập, trình tự phân bổ / giải quyết hợp lý được tuân theo các cài đặt Vào / Ra.
