জেনেরিক বর্গের জন্য একটি ডিফল্ট কনস্ট্রাক্টরের সিনট্যাক্স কী?


86

জেনেরিক শ্রেণির জন্য ডিফল্ট কনস্ট্রাক্টর প্রয়োগ করা কি সি # তে নিষিদ্ধ?

যদি তা না হয় তবে নীচের কোডটি সংকলন করে না কেন? (আমি যখন <T>এটি অপসারণ করি তবে তা সংকলিত হয়)

জেনেরিক ক্লাসের জন্য ডিফল্ট কনস্ট্রাক্টর সংজ্ঞায়নের সঠিক উপায় কী?

public class Cell<T> 
{
    public Cell<T>()
    {
    }
}

সংকলনের সময় ত্রুটি : ত্রুটি 1 অবৈধ টোকেন '(' শ্রেণিতে, কাঠামোতে বা ইন্টারফেস সদস্যের ঘোষণায়)

উত্তর:


144

আপনি কনস্ট্রাক্টরে টাইপ পরামিতি সরবরাহ করবেন না। আপনার এইভাবে করা উচিত।

public class Cell<T> 
{
    public Cell()
    {
    }
}

11

এবং যদি আপনার সম্পত্তি হিসাবে ধরণের প্রয়োজন হয়:

public class Cell<T>
{
    public Cell()
    {
        TheType = typeof(T);
    }

    public Type TheType { get;}
}

6

এবং আপনার যদি টাইপের কোনও উদাহরণ ইনজেক্ট করতে হয়:

public class Cell<T>
{
    public T Thing { get; }

    public Cell(T thing)
    {
        Thing = thing;
    }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.