عامل تشغيل التحميلات الزائدة
تتيح Operaإلىr التحميلات الزائدة أنواع إلى ليتم ضمه ومقارنته باستخدام operaإلىrs مثل "+"، "-"، "="، و "! =". السماح بإضافة التحميلات الزائدة عامل التشغيل إلى نوع، المطورين باستخدام النوع كـ لو كانت نوعا مضمناً الأولية. يجب تنفيذه التحميل الزائد لعامل التشغيل فقط عند معنى تشغيل هو ممتازة للنوع (على سبيل المثال، تعتمد إضافة مثيلين من النوع الذي يمثل القيمة رقمية). التحميل الزائد Operaإلىr يجب عدم استخدامها إلى توفر اختصار syntactic للعمليات غير بديهية.
يلي مثال يبين توقيع لعملية الجمع من DateTimeفئة.
[Visual Basic]
Public Shared Function op_Addition(ByVal d As DateTime, _
ByVal t As TimeSpan _
) As DateTime
[#C]
public static DateTime op_Addition(
DateTime d,
TimeSpan t
);
تجنب تعريف التحميلات الزائدة عامل، فيما عدا في الأنواع التي يجب أن تعمل مثل الأنواع الأولية (مضمن).
خذ بعين الاعتبار تعريف التحميلات الزائدة عامل التشغيل في نوع الذي يجب أن تعمل كنوع مجموعة أساسية.
على سبيل المثال، Stringيحدد عامل التشغيل = = و عامل التشغيل! =.
قم بتعريف التحميلات الزائدة عامل في بنية التي تمثل الأرقام (مثل كـ النظام.عشري).
لا يكون clever عند تعريف التحميلات الزائدة عامل التشغيل.التحميل الزائد لعامل التشغيل هو مفيداً في الحالات الموقع أنه هو واضحة على الفور ما نتيجة العملية ستكون.على سبيل المثال، فمن المفيد إلى من إلى طرح أحد الكائنات من كائن النظام.التاريخ والوقت آخر النظام.التاريخ والوقت والحصول على كائن النظام.فترة زمنية.ومع ذلك، فإنه هو غير المناسب باستخدام عامل تشغيل توحيد منطقية بتوحيد اثنين استعلامات قاعدة بيانات أو استخدام العامل Shift زر للكتابة إلى دفق.
لا توفر التحميلات الزائدة عامل إلا إذا واحد على الأقل من المعاملات هو من النوع تعريف من التحميل الزائد.
المحول البرمجي C# تفرض هذه الإرشادات العامة.
قم بزيادة التحميل على عوامل في شكل متماثل.
ل مثال، زيادة إذا قمت بزيادة التحميل عامل مساواة، يجب أيضا التحميل inequality عامل التشغيل. وبشكل مماثل، إذا قمت بزيادة التحميل أقل-زياده من عامل التشغيل، يجب أيضا التحميل كبر-من عامل التشغيل.
خذ بعين الاعتبار توفير وظائف باستخدام الأسماء المألوفة التي تطابق إلى كل operaإلىr overloaded.
يجب أن تلتزم بهذه الإرشادات العامة إلى يكون متوافق مع CLS. يحتوي الجدول التالي على قائمة برموز عامل و وظائفها البديل المناسب و أسماء عامل التشغيل.
الرمز عامل التشغيل C# |
اسم الأسلوب البديل |
اسم المشغل |
---|---|---|
غير معرف |
ToXxx أو FromXxx |
op_Implicit |
غير معرف |
ToXxx أو FromXxx |
op_Explicit |
+ (ثنائي) |
Add |
op_Addition |
-(ثنائي) |
طرح |
op_Subtraction |
* (ثنائي) |
ضرب |
op_Multiply |
/ |
قم بتقسيم |
op_Division |
% |
Mod |
op_Modulus |
^ |
Xor |
op_ExclusiveOr |
& (ثنائي) |
BitwiseAnd |
op_BitwiseAnd |
| |
BitwiseOr |
op_BitwiseOr |
&& |
و |
op_LogicalAnd |
|| |
أو |
op_LogicalOr |
= |
تعيين |
op_Assign |
<< |
LeftShift |
op_LeftShift |
>> |
RightShift |
op_RightShift |
غير معرف |
LeftShift |
op_SignedRightShift |
غير معرف |
RightShift |
op_UnsignedRightShift |
== |
Equals |
op_Equality |
> |
CompareTo |
op_GreaterThan |
< |
CompareTo |
op_LessThan |
!= |
Equals |
op_Inequality |
>= |
CompareTo |
op_GreaterThanOrEqual |
<= |
CompareTo |
op_LessThanOrEqual |
*= |
ضرب |
op_MultiplicationAssignment |
-= |
طرح |
op_SubtractionAssignment |
^= |
Xor |
op_ExclusiveOrAssignment |
<<= |
LeftShift |
op_LeftShiftAssignment |
%= |
Mod |
op_ModulusAssignment |
+= |
Add |
op_AdditionAssignment |
&= |
BitwiseAnd |
op_BitwiseAndAssignment |
|= |
BitwiseOr |
op_BitwiseOrAssignment |
, |
Comma |
op_Comma |
/= |
قم بتقسيم |
op_DivisionAssignment |
-- |
إنقاص |
op_Decrement |
++ |
الزيادة |
op_Increment |
- (الأحادي) |
negate |
op_UnaryNegation |
+ (الأحادية) |
علامة الجمع |
op_UnaryPlus |
~ |
OnesComplement |
op_OnesComplement |
أجزاء حقوق النشر 2005 Microsoft Office 2010 Suite Corporation. كافة الحقوق محفوظة.
أجزاء حقوق النشر شركة Addison-Wesley. كافة الحقوق محفوظة.
ل المزيد المعلومات تشغيل إرشادات التصميم، راجع "إطار عمل إرشادات التصميم: كتاب اصطلاحات، Idioms، و نقش لمكتبات.NET القابل لإعادة الاستخدام"ب Krzysztof Cwalina و رفيق Abrams، ينشره Addison-Wesley، 2005.