![]() |
|
[سؤال] عدم الوصول الي الكلاسات الخاصة - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [سؤال] عدم الوصول الي الكلاسات الخاصة (/showthread.php?tid=1203) الصفحات:
1
2
|
عدم الوصول الي الكلاسات الخاصة - ali.alfoly - 08-12-13 السلام عليكم ورحمة الله عامل مشروع ClassLibrary طبعا ينتج ملف ديل لو اي حد اخذ ملف الديل هذا وضافه في مشروع سيسطيع الوصول الي ال Class التي بداخله بكل سهولة اريد الا يستطيع احد الوصول اليها اريدها تظهر لي فقط في مشروعي وجزاكم الله خيرا RE: عدم الوصول الي الكلاسات الخاصة - Aly El-Haddad - 08-12-13 الـClasses التي لا تريد أحد أن يراها أستخدم Friend Class بدلاً من Public Class RE: عدم الوصول الي الكلاسات الخاصة - ali.alfoly - 08-12-13 وكيف اصل الي الكلاسات RE: عدم الوصول الي الكلاسات الخاصة - 3booody - 08-12-13 لو اردت مثلآ عمل خاصية لا احد يمكنه الوصول اليها الا انته اثناء التصريح اسبق بالكلمة Protected تلاحظ الخاصية تظهر لك فقط داخل الكلاس كود : Public Class Form1RE: عدم الوصول الي الكلاسات الخاصة - Aly El-Haddad - 08-12-13 (08-12-13, 06:13 PM)ali.alfoly كتب : وكيف اصل الي الكلاسات من خلال الـPublic Classes في مشروع الـ DLL يعني أنت لما تستخدم الـPublic Class من المشروع حتى لو كان هذا الـPublic Class تستخدم بداخله دوال من Friend Classes فهذا لا يؤثر في شئ و تبقى الـFriend Classes في الحفظ و الصون (08-12-13, 06:28 PM)3booody كتب : لو اردت مثلآ عمل خاصية لا احد يمكنه الوصول اليها الا انته اثناء التصريح اسبق بالكلمة Protected توضيح بسيط بخصوص Protected عند وضع خاصية Protected في Class فإن هذه الخاصية لا يمكن إستخدامها إلا من هذا الـClass أو الـClasses الورثة يعني مثلاً في مثالك أنت كاتب Class MyTest فا لو أنا جيت كتبت كود : Public Class MyTest2أما لو أردت أن تضع خاصية لا يمكن أن تُستخدم من خارج الـClass الذي هي فيه فتستخدم Private لا Protected RE: عدم الوصول الي الكلاسات الخاصة - الشاكي لله - 08-12-13 هناك فكرة ... كما تعلم عندما تريد استخدام دوال المكتبة ، يجب عليك ان تقوم بتعريف Instance للكائن بهذا الشكل PHP كود : Dim cls As New ClassLibrary2.Class1() تستطيع اعطاء رقم سري الى Sub new لتتم المقارنة ، فاذا كان الرقم السري خطأ يتم رمي استثناء :- PHP كود : Public Class Class1الان طريقة استخدام المكتبة :- PHP كود : Tryسيتم الغاء عملية انشاء الكائن وسيدخل البرنامج الى اكواد Catch اذا كان السيريال خطا تحياتي (08-12-13, 07:00 PM)Aly El-Haddad كتب :مع احترامي(08-12-13, 06:13 PM)ali.alfoly كتب : وكيف اصل الي الكلاسات الطريقة هذي يمكن كسرها بسهولة لو استخدم المبرمج ال System.Reflection.Assembly :- PHP كود : Dim asm As System.Reflection.Assembly = System.Reflection.Assembly.LoadFile("dllpath")رجاء من الادارة ان تقوم بفصل الردود مي حالة دي RE: عدم الوصول الي الكلاسات الخاصة - Aly El-Haddad - 08-12-13 (08-12-13, 07:04 PM)الشاكي لله كتب : هناك فكرة ... أهلاً أخي الشاكي لله عندما طرحت طريقتي لم أضع في الحسبان أي شئ عن الهندسة العكسية لأنني لو طرحت عنها شئ سأقع في متاهات و تعقيدات ليس لها نهاية و مع إحترامي أيضاً لك، طريقتك يمكن إختراقها بطريقتين الأولى: مستخدم المكتبة (غير الأصلي) لو مسح Try و Catch عند إستخدامه لها فسيظهر كود الـClass بأكمله في الـVisual Studio ليريك السطر المكتوب فيه Throw Exception الثانية: لو وضعنا في الحسبان الإختراق عن طريق الهندسة العكسية فبمنتهى البساطة يمكن جلب الكود السري لإستخدام الـClass عن طريق Reflector RE: عدم الوصول الي الكلاسات الخاصة - Easy4ever - 08-12-13 وعليكم السلام ورحمة الله وبركاته أفضل انك تنقل الكلاس ClassLibrar داخل المشروع يعني لا تستخدم ملف DLL كذا ما بيكون من المرفقات مع البرنامج بل سيكون من ضمن EXE RE: عدم الوصول الي الكلاسات الخاصة - ali.alfoly - 08-12-13 السلام عليكم ورحمة الله جزاكم الله خيرا اخواني عاي هذه الافكار وعلي هذا النقاش الماتع لاكن للاسف لم نصل الي حل نهائي حتي الان إقتباس :أفضل انك تنقل الكلاس ClassLibrar داخل المشروع مستحيل مكتبات كتير RE: عدم الوصول الي الكلاسات الخاصة - Aly El-Haddad - 08-12-13 (08-12-13, 08:25 PM)ali.alfoly كتب : السلام عليكم ورحمة الله هل لنا أن توضح المطلوب أكثر؟
|