سؤال

تطبيقات WPF هي ، في جوهرها ، تطبيقات المدارة؟ حق؟ لذلك ، لا بد لي من الاختيار بين استخدام C ++ المدارة أو C#. لقد جربت مع C ++ منذ سنوات. يبدو أنه ليس جاهزًا تمامًا للوقت البدائي. أظن أن Microsoft بذلت جهودًا أكبر في C# أكثر من C ++ المدارة. لذلك ، يبدو أن استخدام C# هو أفضل بديل بين الاثنين. هل هذا هو الحال؟ ما هي التجارب التي مررت بها مع WPF في أي من اللغة؟ شكرا مقدما.

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

المحلول

تم استبدال C ++ المدارة بـ C ++/CLI ، و "Managed C#" هو مجرد C#.

أوصي بشدة باستخدام C# لمشروع جديد ، واستخدام C ++/CLI فقط عند الحاجة. C# لديه دعم أفضل ، ولديه قاعدة مستخدم أكبر ، وأسهل العمل مع Inside Visual Studio 2010.

بالإضافة إلى ذلك ، ضع في اعتبارك أن C ++ و C ++/CLI هما لغتان مختلفتان. لأول مرة في مشروع .NET ، اخترت C ++/CLI لأنني كنت أعرف بالفعل C ++ ، وكانت هذه فكرة سيئة للغاية: منحنى التعلم من C ++ إلى C ++/CLI يشبه التعلم C# من C ++: لا تقع في هذا الفخ .

نصائح أخرى

تم صنع C ++/CLI حقًا فقط لدعم كتابة طبقات interop بين التعليمات البرمجية غير المدارة (أي الأصلي C/C ++) والرمز المدارة. من أجل "الرفع الثقيل" ، يجب عليك بالتأكيد استخدام C# (أو VisualBasic.net).

يمكنك استخدام C ++ المدارة في الواجهة الخلفية الخاصة بك ، ولكن ، عند التفتيش ، لا يحتوي VS (أنا أستخدم 2010 Ultimate) على أي قوالب مصنفة لتطبيق C ++ WPF - فقط C# أو VB.

أنا متأكد من أنك استطاع إجباره على العمل إذا أردت ذلك ، لكنني أقترح استخدام C#.

C# هو الأكثر استخدامًا ، لذلك إذا كان لديك مشكلة ، فهناك المزيد من الدعم عبر الإنترنت لـ C#. C# لديه أيضا دعم أفضل من قبل Microsoft. إنه بشكل عام مجرد منتج نهائي أكثر ، حتى الآن. إذا كنت لا تهتم بنفسك حقًا ، فسأذهب مع C#.

من حيث الواجهة الخلفية ، يركض كلاهما على CLR وكلاهما قادر على الوظيفة. حقًا يتعلق الأمر بما تشعر بالراحة معه. إذا لم تكن متأكدًا ، فجرّب كليهما. استخدم كل ما هو أكثر إنتاجية.

يحرر:

كما تم الإشارة إليّ للتو ، يبدو أن دعم قوالب WPF (وربما حتى Intellisense) ليس موجودًا لـ C ++. لذلك في هذه الحالة ، أعتقد أنني يجب أن أوصي C#.

IMO دون أدنى شك C# (أو VB/F#).

يعد C ++/CLI رائعًا عند عبور حدود العالم المدارة ومكتبة C ++. التعقيد أعلى على الرغم من أن القضايا الدقيقة تنشأ عن حقيقة أن المرء يجمع بين لغة مُدارة وغير مُدارة.

تكون أوقات التجميع أطول أيضًا في C ++/CLI خاصة وأن قوالب التعليمات البرمجية مصممة بعد كيفية عمل برنامج التحويل البرمجي C# ليس على كيفية عمل برنامج التحويل البرمجي C ++.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top