• 0
Executioner

C# Class Name As Parameter Object

سؤال

السلام عليكم ورحمة الله وبركاته:

بداية كل عام وأنتم بخير بحلول شهر الخير.

ثانياً لقد صادفتني نفس المشكلة الموجودة في الصفحة التالية http://www.experts-exchange.com/Programmin...Q_20967282.html أرجو مساعدتي وإفادتي بأي معلومة مفيدة.

ثالثاً أتمنى من الإدارة الكريمة أن تحل مشكلة عضويتي التي لا تستطيع أن تفتح بعض الصفحات ولا تستطيع أن ترسل حتى رسائل خاصة أو غيرها (أعتذر عن وضع الطلب هنا ولكن عضويتي لا تستطيع أن ترسل أي رسالة خاصة لأي عضو كان).

وشكرا لكم ولجهودكم.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

5 إجابة على هذا السؤال .

  • 0

جرب هذا الكود الذي ينشئ كائن من النوع الذي نمرر عبر البارامتر للدالة CreateClass

using System;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
c1 _c1 = (c1)CreateClass(typeof(c1));
c2 _c2 = (c2)CreateClass(typeof(c2));
}

// دالة تنشئ لنا كائن حسب النوع الذي طلبناه
static object CreateClass(Type typeObj)
{
if(typeObj == typeof(c1)) {
return (object)new c1();
}
if(typeObj == typeof(c2)) {
return (object)new c2();
}
throw new NotSupportedException();
}
}

public class c1
{
public int i = 25;
}

public class c2
{
public double d = Math.PI;
}
}

تحياتي...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ايضاً ، يمكنك ان تجرب هذا :

object obj = Activator.CreateInstance(Type.GetType("ConsoleApplication1.c1"));

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا على المعلومة أخي حسن.

تحياتي...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

العفو :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

شكراً لكم إخواني، مع أني رأيت حلولاً مشابها للتي أوردتموها ولم تسعفني :blush: ، ولكنها مع ذلك معلومات جديدة بالنسبة لي كوني الآن فهمتها :P ، أكرر شكري.

على كل حال وجدت ضالتي والحمد لله، وهي بكل بساطة كالتالي:

public IEnumerable<T> Select<T>() where T: class
{
IEnumerable<T> res = from t in myDataContext.GetTable<T>() select t;
return res;
}

مع أني أعرف هذه الطريقة ولكن لم تخطر ببالي :blush: .

كنت يجب أن أضح الكود الذي أردته أن يعمل :blush: .

تم تعديل بواسطه Executioner
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .