سؤال

ولقد رأيت بعض التعليمات البرمجية حيث يتم استيراد <م> الدرجة ، بدلا من مساحة الاسم، مما يجعل جميع أعضاء ثابتة / أساليب تلك الفئة المتاحة. هذا هو سمة من سمات VB؟ أو القيام غات أخرى القيام بذلك أيضا؟

وTestClass.vb

public class TestClass
    public shared function Somefunc() as Boolean
        return true
    end function
end class

وMainClass.vb

imports TestClass

public class MainClass
    public sub Main()
        Somefunc()
    end sub
end class

وهذه الملفات هي في الدليل App_Code. مجرد لافتة، لأنني قد فكرت أبدا للقيام بذلك من قبل، ولا أن يكون قد قرأت عن ذلك في أي مكان.

هل كانت مفيدة؟

المحلول

واحد من أسباب هذه الميزة في المكان لمحاكاة البصرية الأساسية 6.0 في الخيار GlobalMultiUse عن التوضيح. البصرية الأساسية 6.0 لم يكن لديك القدرة على جعل وحدات الجمهور عبر الحدود DLL. بدلا من ذلك يمكنك تعيين الخاصية التوضيح لGlobalMultiUse. وهي تستخدم أساسا لفئات فائدة مثل فئة التي تصدر سلسلة من المهام الرياضيات.

وفي كل مرة استدعاء روتين أو وظيفة على فئة مع GlobalMultiUse Instancing، فيجوال بيسك 6.0 instantiates فئة وراء الكواليس قبل استدعاء الدالة.

ويمكن أن يساء استخدامها لتوليد وظائف العالمية / المتغيرات مع كل مزايا وعيوب.

نصائح أخرى

نعم، انها ل Visual Basic ميزة اللغة . بينما يمكنك إنشاء الأسماء المستعارة، وذلك باستخدام C # الصورة باستخدام بيان ، فإنه لا توجد الآن ' ر يبدو أنه يمكنك استيراد فئة المشتركة إلى النطاق. أن نكون صادقين، لقد استعملت فقط من أي وقت مضى لمرة واحدة في مشروع القديمة التي استخدمت بالفعل. أرى بعض القيمة، ولكن أخشى أنه قد يسبب ضررا أكثر من النفع لالصيانة المستقبلية من التعليمات البرمجية.

واستخدمه كلما أنا باستخدام نفس المكتبة لديها الكثير من الوقت. وخير مثال هو System.Math.

وC # لا يدعم هذه، التي أجد أن تكون مزعجة للغاية.

والواقع، تتوفر هذه الوظيفة لانها تمت مشاركته وظيفة . لو كنت لإزالة معدل المشتركة، هل لا يزال لديك لإنشاء مثيل من فئة للوصول إليه.

لتحقيق الوصول إلى جميع المتغيرات وجميع وظائف ضمن فئة افتراضيا، كنت تريد أن ترث منه.

لبلدي استيراد فئة وربط أساسا إشارة مباشرة إلى ذلك، وليس خلق أي نوع من مثيل ذلك لتتمكن من استخدامها.

وتحرير وضوح: إن الروابط هناك VB صلات محددة، وبالتالي، موضحا وظائف هذا المتعلقة VB.NET

والانتظار، الانتظار، الانتظار ....

ولقد وجدت هذا الصباح فقط أننا يمكن أن تستمد جميع الأشياء (الدرجة ق) داخل أي فئة التي تحتاج إلى مرجعياتها استخدام هذا الأسلوب / وظيفة؛

Protected Overrides Sub Finalize()
    MyBase.Finalize()
End Sub
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top