ভিজ্যুয়াল স্টুডিও: বেস ক্লাস থেকে উত্তরাধিকারসূত্রে প্রাপ্ত সমস্ত ক্লাস আমি কীভাবে দেখাব?


139

ভিজ্যুয়াল স্টুডিওতে, আমি বেস ক্লাস থেকে উত্তরাধিকার সূত্রে প্রাপ্ত সমস্ত ক্লাস কীভাবে দেখাব?

উদাহরণস্বরূপ , এএসপি.নেট এমভিসিতে বেশ কয়েকটি ' অ্যাকশনারসাল্ট ' প্রকার রয়েছে - এবং তারা সকলেই বেস বর্গ থেকে উত্তীর্ণ / প্রয়োগ করে ActionResult

দেখে মনে হচ্ছে আপনি যদি না জানেন Viewএবং Jsonবৈধ ActionResultপ্রকারের না হয়ে থাকেন তবে সহজেই এই তথ্যটি খুঁজে বের করার কোনও উপায় নেই।

আমাকে ভুল প্রমাণ করুন।

অবজেক্ট ব্রাউজারে এমন কি কিছু রয়েছে যা এটি খুঁজে বার করা সহজ করে?

এমনকি আমি বিভিন্ন ক্লাস সম্পর্কে এই তথ্যটি আবিষ্কার করতে ভিজ্যুয়াল স্টুডিওর বাইরের সরঞ্জামগুলির পরামর্শের জন্য প্রস্তুত। উদাহরণস্বরূপ: রিশার্পারে এমন কিছু আছে যা আমাকে সাহায্য করবে?


2
ভিজ্যুয়াল সি # 2010 এক্সপ্রেসের সাহায্যে আমি ": অ্যাকশনরেসাল্ট" এর সমাধানটি অনুসন্ধান করি। আদর্শ নয়, তবে কোনও কিছুর চেয়ে ভাল।
yoyo

2
আমার মনে হয় আপনি আমার প্রশ্নকে ভুল বুঝেছেন। জেসনআরসাল্ট (এখানে রেফারেন্স: msdn.microsoft.com/en-us/library/system.web.mvc.jsonresult.aspx ) অ্যাকশনারসাল্ট থেকে উত্তরাধিকার সূত্রে প্রাপ্ত। অ্যাকশনারসাল্ট থেকে উত্তরাধিকারসূত্রে প্রাপ্ত আরও বেশ কয়েকটি ক্লাস রয়েছে। অ্যাকশন রেজাল্ট থেকে উত্তরাধিকার সূত্রে প্রাপ্ত সমস্ত শ্রেণি দেখার সহজ উপায় কী?
ড্যান এস্পারজা

3
এই ক্ষেত্রে, আমি যে কোডটি ব্যবহার করছি সেটি কোড নয় যা আমার সমাধানে সরাসরি প্রদর্শিত হয়। তারা অন্য সমাবেশে এমভিসি ফ্রেমওয়ার্ক ক্লাস। ": অ্যাকশনারসাল্ট" অনুসন্ধান করা কোনও সমাবেশ থেকে আমি যে কোড ব্যবহার করি তা ব্যবহার করে না।
ড্যান এস্পারজা

উত্তর:


50

অবশ্যই, রিশার্পার এটি করতে পারে। এবং আরো অনেক কিছু.

যে কোনও জায়গায় টাইপ নামের উপর ডান ক্লিক করুন এবং প্রসঙ্গ মেনুতে "ইনহিরিটারে যান" নির্বাচন করুন। ওভাররাইডে নেভিগেট করার পদ্ধতি এবং একটি ইন্টারফেস পদ্ধতির প্রয়োগের ক্ষেত্রে "Go To Inheritor" প্রয়োগ করা যেতে পারে। একটি ইন্টারফেসের জন্য আপনি আবার "ব্যবহারের উন্নতগুলি অনুসন্ধান করুন" কল করতে পারেন, ঠিক ডান ক্লিক করুন) যেখানে সমস্ত বিস্তৃতকরণ এবং বাস্তবায়নগুলি পাওয়া যায়। একটি ধরণের জন্য - উত্পন্ন প্রকারের। এবং আমার প্রিয় বৈশিষ্ট্য - এর ঘোষণায় নেভিগেট করার জন্য যে কোনও প্রকার / পদ্ধতিতে নিয়ন্ত্রণ রাখা সহ ক্লিক করুন।

আমি মনে করি এটি। নেট বিকাশকারীদের জন্য অবশ্যই একটি সরঞ্জাম।


পুনরায় ভাগ করা 9.2 এ, যে কোনও প্রকারের উত্স কোডে, "ফাইন্ড ইউসেজ অ্যাডভান্সড" ক্লিক করুন, ফাইন্ড = "ডাইরাইভড" এবং স্কোপ = "সলিউশন এবং লাইব্রেরি" নির্বাচন করুন।
উদাহরণস্বরূপ, যে কোনও বিক্রেতার কাছ থেকে অন্তর্ভুক্ত ডিএলএলে কিছু বেস বর্গের সমস্ত উত্তরাধিকারী (গ্রন্থাগার এবং আপনার কোড উভয়) সন্ধানের জন্য, সেই বেস শ্রেণীর সাথে আপনার কোডে একটি ভেরিয়েবল ঘোষণা করুন। তারপরে আপনি যে টাইপ করেছেন সেই বেস ক্লাসের নামটিতে ডান ক্লিক করুন।


6
এ রকম লজ্জা. জাভা বিকাশকারীরা যা নিখরচায় Eclipse ব্যবহার করে, তাদের কার্যকারিতাটি বাক্সের বাইরে রয়েছে। আমার রিশার্পার + ভিএস ২০১৫ তে আমি "ইনহিরিটারে যান" না বরং "বাস্তবায়নে যান" দেখি।
উত্তর মেরু

1
তবে এটি আমাকে মাঝখানে ক্লাস দেয় না, কেবল পাতা। CTRL + ALT + B উত্তর দেবে।
উত্তর মেরু

2
ভিজ্যুয়াল স্টুডিও 6 এর প্রায় 20 বছর আগে সি ++ প্রকল্পে ছিল। অবজেক্ট ব্রাউজার এবং শ্রেণীর চিত্রটি উত্তরাধিকার গাছগুলি ফ্লিপ করার জন্য একই হালকা ওজনের ক্ষমতা সরবরাহ করে না। আমি সম্প্রতি পেয়েছি যে Eclipse এর একটি দুর্দান্ত সংস্করণ আছে, যা জাভা সহ অন্তত। এম এস আসুন, আপনার প্রাক্তন বিকাশকারীদের একজনকে ফোন করুন এবং জিজ্ঞাসা করুন যে এটি কী ছিল তবে কী হারিয়েছিল .... নিশ্চিত যে এটি সমস্ত প্রকল্পের বিএসসি ব্রাউজ ডেটা সংকলনের বিকল্পের পরে জেনারেট করার দরকার ছিল, তবে এটি ছিল ঠিক fine সত্যিই ছিল।
ফিলিপ বেক

150

ভিএস ২০১২ এর জন্য,

  1. সমাধান এক্সপ্লোরার-এ ফাইল নেভিগেট করুন
  2. আপনার শ্রেণি প্রসারিত এবং নির্বাচন করুন
  3. শ্রেণীর আইটেমটিতে ডান ক্লিক করুন (ফাইল আইটেম নয়) -> উত্পন্ন প্রকার

9
এটি আপনার লিখিত উত্স কোডটি ধরে নেয়। এই আসল প্রশ্নের সাথে বর্ণিত উদাহরণ দিয়ে কীভাবে কাজ করবে? (ক্রিয়াকলাপের প্রকারের प्रकारগুলি)
ড্যান

আপনার যদি অ্যাকশনারসাল্ট থেকে প্রাপ্ত কোনও ধরণের থাকে তবে আপনি নিজের প্রকারের উপর ডান ক্লিক করতে পারেন এবং বেস প্রকারগুলি নির্বাচন করতে পারেন, যা আপনাকে অ্যাকশনারসাল্টে নিয়ে যাবে, আপনি এখন ডান ক্লিক করতে পারেন এবং ডেরিভড প্রকারগুলি নির্বাচন করতে পারেন। (আপনি কোন প্রকার ActionResult থেকে আহরিত তারপর আপনি আপনার উপায় System.Object ফিরে এবং তারপর নিচে ActionResult করার কাজ করতে পারে যদি।)
Yoyo

21
আপনারা যারা, আমার মতো, ক্লাসের কোড ফাইলটিতে ডান ক্লিক করেছেন এবং কেন কোনও "উত্পন্ন ধরণের" মেনু বিকল্প নেই তা দেখে স্তম্ভিত হয়েছেন: মনে করুন যে ক্লাসের আইটেমটি প্রকাশ করার জন্য আপনাকে প্রথমে কোড ফাইল আইটেমটি প্রসারিত করতে হবে - তারপরে সঠিক পছন্দ.
বিসিএ 13

3
আমি ভিএস 2017 ব্যবহার করছি Unfortunately দুর্ভাগ্যক্রমে, এটি কেবল একই সমাবেশে উপস্থিত ক্লাসগুলি দেখায়, এটি সম্পূর্ণ সমাধানটি প্রদর্শন করে না।
নাইটওয়েল 888

4
সলিউশন এক্সপ্লোরারে এই কার্যকারিতাটি কীভাবে বিদ্যমান তা ক্লাস ভিউয়ের মধ্যে অদ্ভুত।
দাই

73

এজন্য আপনার অগত্যা প্রতিবিম্বকের প্রয়োজন হবে না - ভিজ্যুয়াল স্টুডিওর "ক্লাস ডায়াগ্রাম" দর্শন আপনাকে একটি নির্দিষ্ট শ্রেণীর জন্য খুব সহজেই সমস্ত উত্স প্রাপ্ত ক্লাসগুলি সন্ধান করতে দেবে। "ক্লাস ভিউ" এর ক্লাসে ডান ক্লিক করুন এবং "ক্লাস চিত্রটি দেখুন" নির্বাচন করুন। চিত্রটি যদি শ্রেণিবিন্যাসের জন্য যে স্তরের বিবরণ চান তা না দেখায়, ডায়াগ্রামের শ্রেণীর জন্য বাক্সটিতে ডান ক্লিক করুন এবং "ডেরিভড ক্লাসগুলি দেখান" নির্বাচন করুন।

রিশার্পারের মতো সরাসরি নাও হতে পারে তবে আপনার যদি ইতিমধ্যে আর # না থাকে তবে এটি একটি বিকল্প।

দুর্ভাগ্যক্রমে, আমি নিশ্চিত নই যে ভিজ্যুয়াল স্টুডিওর কোন বিশেষ সংস্করণ রয়েছে।


15
এটি কেবলমাত্র আপনার সমাধানের মধ্যে এমন ক্লাসগুলি দেখতে দেয় যা লক্ষ্য বর্গ / ইন্টারফেসের উত্তরাধিকারী / প্রয়োগ করে। যদিও জানা ভাল।
মার্কাস জারদারোট

আপনি কি এই পদ্ধতির সীমাবদ্ধতা সম্পর্কে জানেন? কারণ এটি আমাকে সমস্ত সাবক্লাস দেখার অনুমতি দেয় না (এটি কেবলমাত্র সাবক্লাসগুলি দেখায় যা কোনও অতিরিক্ত ইন্টারফেস প্রয়োগ করে না)।
সার্জ

1
"বর্তমান প্রকল্পে XXX থেকে প্রাপ্ত কোনও প্রকার নেই" বলে আমার একটি ত্রুটি হয়েছিল, সুতরাং আমি মনে করি এটি বর্তমান প্রকল্পের ধরণের মধ্যে সীমাবদ্ধ, সমাধান নয়
অ্যান্ডি

আমি কি পুনরাবৃত্তভাবে "উত্পন্ন ক্লাসগুলি দেখান" পারফর্ম করতে পারি? বা আমাকে কি প্রতিটি উপ শ্রেণিতে স্পষ্টভাবে "উদ্ভূত ক্লাসগুলি প্রদর্শন" নির্বাচন করতে হবে?
জেমস ওয়েয়ারজবা

15

এটি সর্বনিম্ন অলস উত্তর (আমি এই উত্তরটি নিয়ে কেবল গর্বিত :)

আমার রিশার্পার নেই, আগে চেষ্টা করেছি কিন্তু এটি কিনতে চাইনি। আমি একটি ক্লাস ডায়াগ্রাম চেষ্টা করেছিলাম তবে একেবারেই ব্যবহারিক নয় কারণ হায়ারার্কি ডায়াগ্রামটি সারা বিশ্বের 3 বার ছড়িয়ে পড়ে এবং আমার ল্যাপটপের স্ক্রিনটির অসীম প্রস্থ নেই। সুতরাং আমার প্রাকৃতিক এবং সহজ সমাধানটি হ'ল কিছু উইন্ডোজ ফর্ম কোড লিখতে হবে যাতে কোনও অ্যাসেমব্লির ধরণগুলি সম্পর্কে পুনরাবৃত্তি হয় এবং গাছের দৃশ্যে নোড যুক্ত করতে প্রতিচ্ছবি ব্যবহার করা হয়:

অনুগ্রহ করে ধরে নিন যে এই কোডটি চালিত হয় এমন কোনও ফর্মের জন্য আপনার কাছে একটি পাঠ্য বাক্স, একটি গাছের ভিউ এবং অন্যান্য প্রয়োজনীয় জিনিস রয়েছে

//Go through all the types and either add them to a tree node, or add a tree
//node or more to them depending whether the type is a base or derived class.
//If neither base or derived, just add them to the dictionary so that they be
//checked in the next iterations for being a parent a child or just remain a
//root level node.

var types = typeof(TYPEOFASSEMBLY).Assembly.GetExportedTypes().ToList();
Dictionary<Type, TreeNode> typeTreeDictionary = new Dictionary<Type, TreeNode>();
foreach (var t in types)
{
    var tTreeNode = FromType(t);
    typeTreeDictionary.Add(t, tTreeNode);

    //either a parent or a child, never in between
    bool foundPlaceAsParent = false;
    bool foundPlaceAsChild = false;
    foreach (var d in typeTreeDictionary.Keys)
    {
        if (d.BaseType.Equals(t))
        {
            //t is parent to d
            foundPlaceAsParent = true;
            tTreeNode.Nodes.Add(typeTreeDictionary[d]);
            //typeTreeDictionary.Remove(d);
        }
        else if (t.BaseType.Equals(d))
        {
            //t is child to d
            foundPlaceAsChild = true;
            typeTreeDictionary[d].Nodes.Add(tTreeNode);
        }
    }

    if (!foundPlaceAsParent && !foundPlaceAsChild)
    {
        //classHierarchyTreeView.Nodes.Add(tn);
    }
}

foreach (var t in typeTreeDictionary.Keys)
{
    if (typeTreeDictionary[t].Level == 0)
    {
        classHierarchyTreeView.Nodes.Add(typeTreeDictionary[t]);
    }
}

StringBuilder sb = new StringBuilder();
foreach (TreeNode t in classHierarchyTreeView.Nodes)
{
    sb.Append(GetStringRepresentation(t, 0));
}
textBox2.Text = sb.ToString();

2
একটি দুর্দান্ত কোড উদাহরণের জন্য +1। অন্যান্য অ্যাসেমব্লিতে বেস ক্লাস এবং প্রাপ্ত ক্লাসগুলি সম্পর্কে কী?
টুলমেকারস্টেভ

@ টুলমেকারস্টেভ, কীভাবে AppDomain.CurrentDomain.GetAssemblies()? : একটি এ দেখে নিন stackoverflow.com/questions/851248/...
Mzn

14

'ভিজ্যুয়াল স্টুডিও 2015 আপডেট 1' থেকে শুরু করে আপনি ক্লাস কোড সম্পাদকের কোনও শ্রেণীর নামের উপর ডান ক্লিক করতে পারেন এবং তারপরে প্রসঙ্গ মেনু থেকে 'বাস্তবায়নে যান "নির্বাচন করতে পারেন: Ctrl + F12 শর্টকাট হিসাবে।

আরও তথ্যের জন্য https://blogs.msdn.microsoft.com/dotnet/2015/11/30/whats-new-in-visual-studio-update-1- for- net- managed- languages/ দেখুন ।


1
আমি টিপটির প্রশংসা করি, তবে আমি নিশ্চিত নই যে এটি একটি বেস ক্লাস থেকে উত্তরাধিকার সূত্রে প্রাপ্ত সমস্ত শ্রেণি দেখার আমার আসল ব্যবহারের ক্ষেত্রে সম্বোধন করে।
ড্যান এস্পারজা

3
@ ডানস্প্পারজা: এটি কমপক্ষে ভিএস ২০১ in-এ করে। তাই আমি উত্তর upvoted
জোয়াও Antunes

1
এটা সুন্দর. দুর্ভাগ্যক্রমে, শ্রেণিবদ্ধ গাছটি দেখায় না ... আমি কেবল একই গাছের স্তরে সমস্ত তালিকাবদ্ধ করি।
লম্বাস

এবং সর্বদা হিসাবে নামটি বোগাস, আমার অনুসন্ধান / ব্যবহারের সময় এটি সম্পূর্ণরূপে উপেক্ষা করে, এটি সন্ধানের জন্য স্ট্যাকওভারফ্লোতে আসতে হয়েছিল!
ডিএম 8

10

কেউ এখনও এটি উল্লেখ করেনি, তাই আমি এটি যুক্ত করব।
জেটব্রেইনস ডটপিক একটি ফ্রি। নেট ডেকম্পেলার এ তথ্য সহজেই দেখানোর ক্ষমতা রাখে।

বিনামূল্যে ডাউনলোড: http://www.jetbrains.com/decompiler/

জেটব্রেইনস হ'ল রিশার্পার তৈরি করা সংস্থা।

উদ্ভূত শ্রেণীর সন্ধানের পদক্ষেপ:

  1. ডটপিক শুরু করুন
  2. 'জিএসি থেকে খুলুন ...' নির্বাচন করুন এবং সিস্টেম.ওয়েব.এমভিসি সমাবেশটি যুক্ত করুন
  3. 'নেভিগেট / টাইপ করতে যান' নির্বাচন করুন এবং টাইপ করুন ActionResult
  4. উপর ActionResultবর্গ ঘোষণা, ডান ক্লিক করুন এবং নির্বাচন করুন 'উদ্ভূত প্রতীক'
  5. ভাল খবর! প্রতিটি একক উত্পন্ন ক্লাস দেখানো হয় (এমনকি কয়েকজনের সম্পর্কে আমি জানতাম না!)

7

ধরে নিই যে আপনি পুনঃনির্মাণ ইনস্টল করেছেন: শ্রেণি / ইন্টারফেসে কার্সার সহ, ডান ক্লিক করুন - পরিদর্শন করুন - শ্রেণিবদ্ধ

এটি সাবক্লাস, বাস্তবায়ন এবং সুপারক্লাসগুলি দেখায়।


হুমমম ... আকর্ষণীয়, তবে আমি যা খুঁজছিলাম তা নয়। যদি আমি ফিরে আসা অ্যাকশনরসাল্ট আইটেমটিতে ডান ক্লিক করি এবং এই পদক্ষেপগুলি অনুসরণ করি তবে আমি 'কন্ট্রোলার' (অন্তর্ভুক্ত শ্রেণীর ধরণ) এর জন্য 'পরিদর্শন' বিকল্পগুলি পাই। আমি যদি 'ভিউরসাল্ট' সংজ্ঞাতে যাওয়ার চেষ্টা করি, আমি মেটাটাটাতে আছি এবং হায়ারারচিগুলি পরিদর্শন করার বিকল্প আমার কাছে নেই।
ড্যান এস্পারজা

1
এছাড়াও: আমি মোটামুটি নিশ্চিত যে এটি রিশার্পার দ্বারা সরবরাহিত একটি ফাংশন, এটি ভিজ্যুয়াল স্টুডিওতে স্থানীয়ভাবে নয় ...
ড্যান এস্পারজা

7

ভিজ্যুয়াল স্টুডিও ক্লাস ভিউ চেষ্টা করে দেখুন

ভিজ্যুয়াল স্টুডিও ক্লাস ভিউতে আপনার আগ্রহী ক্লাসে নেভিগেট করুন এবং এর বেস এবং উত্পন্ন ক্লাসগুলি সন্ধান করুন


3
এটি আসলে একটি সম্ভাব্য দরকারী দৃশ্য। দুঃখের বিষয়, এটি অবিশ্বাস্যরূপে ধীরে ধীরে, বর্তমান সম্পাদকের সাথে লিঙ্ক / অনুসরণ করে না এবং সাধারণত ভিএস-তে একটি চিন্তাভাবনার মতো অনুভব করে
ই-রিজ

এটি সমস্ত শ্রেণিগুলি দেখায়, কেবল আপনার সমাধানের ক্ষেত্রে নয় এবং বাক্সের বাইরেও কাজ করে। এটা ধীর নয়। আরও গ্রাফের মতো দেখার জন্য ক্লাস ডায়াগ্রাম অন্তর্নির্মিত বৈশিষ্ট্যটিও ব্যবহার করুন (তবে এটি কেবল আপনার সমাধানের মধ্যে ক্লাস প্রদর্শন করে)। আমার যা প্রয়োজন তা হ'ল এটিই সর্বোত্তম উত্তর।
নিকোস

5

আপনি প্রতিচ্ছবি ব্যবহার করতে পারেন ।

আপনি যে সমস্ত অ্যাসেমবিলি দেখতে চান সেটি লোড করুন, কোনও প্রকারে নেভিগেট করুন এবং উত্পন্ন প্রকারের আইটেমটি প্রসারিত করুন।

আপনি এটি অবজেক্ট ব্রাউজারেও করতে পারেন, তবে কোনও কারণে ভিএস ২০০৮ কেবলমাত্র নেট ফ্রেমওয়ার্কের একটিতে এটি করতে পারে। (ভিএস 2010 বিটা 2 এটি যে কোনও দৃষ্টিতে করতে পারে)


3
রিফ্লেক্টর এখন অর্থ ব্যয় করে, তবে আইএলএসপিএসও বিনামূল্যে এটি করবে।
yoyo

একটি 30 দিনের বিনামূল্যে ট্রায়াল রয়েছে, তবে আপনি অনির্দিষ্টকালের জন্য কোনও বিনামূল্যে সংস্করণ ব্যবহার করতে পারবেন না। আপনি কিছু না জানলে আমি না? আমি স্রেফ রিফ্লেক্টর . नेट চেক করেছিলাম ।
yoyo

1
দুঃখিত; রিফ্লেক্টরটির একটি নিখরচায় সংস্করণ থাকত। তারা কখন এ থেকে মুক্তি পেল?
স্ল্যাक्स

ফেব্রুয়ারি 2, 2011 - zdnet.com/blog/burnette/...
Yoyo

3
সত্যই কি ভয়াবহ ছিল, সেই তারিখের পরে, আপনি যদি আগে ডাউনলোড করা ফ্রি সংস্করণটির একটি অনুলিপি চালাতেন, তবে রেডগেট (তারা রিফ্লেক্টর কিনেছিল) এটি পরীক্ষার পরিবর্তে পুরানো ফ্রি সংস্করণটি মুছে ফেলে। কোনও সতর্কতা ছাড়াই। এবং "আপগ্রেড" এড়ানোর কোনও বিকল্প নেই। এটি ঠিক আছে: আমি সংস্থার ওয়েবসাইটে যাইনি এবং সেগুলি থেকে কিছু ডাউনলোড করেছি। কিন্তু পুরানো রিসার্পারে লাইসেন্সিং যুক্তি ছিল যা তাদের কাছে পুনঃনির্দেশিত হয়েছিল এবং তাদের আমার কাছে থাকা অনুলিপিটি নিষ্ক্রিয় করার অনুমতি দিয়েছে। আমি প্রতিশ্রুতি দিয়েছিলাম, যে কোনও পরিস্থিতিতে কখনও রেডগেট থেকে কিছু কিনবেন না বা তাদের অস্তিত্বকে উত্সাহিত করবেন না।
নির্মাতা স্টিভ

4

ফ্রেমওয়ার্ক ক্লাসের জন্য, আমি এমএসডিএন গ্রন্থাগার ব্যবহার করি। উত্তরাধিকার হায়ারার্কি বিভাগটি দুটি দিকেই যায়। স্বীকৃতভাবে 3 ডি পার্টি গ্রন্থাগারগুলির জন্য খুব বেশি সহায়তা নেই।


: এখানে System.Exception জন্য একটি উদাহরণ msdn.microsoft.com/en-us/library/...
bnieland

4

সাহায্যে ReSharper (সংস্করণ 2016.1.2) শুধু Ctrl+ + Alt+ + Clickউপর বেজ ক্লাস। আপনি এরকম কিছু দেখতে পাবেন:

উত্পন্ন ক্লাসগুলি পুনঃশার্পার দেখুন


1
+1 ভাল! সুতরাং মনে হচ্ছে তালিকার গা bold়ে প্রদর্শিত বর্গের নামগুলি নির্বাচিত বেস শ্রেণীর থেকে সরাসরি উত্তরাধিকার সূত্রে আসে, এবং তালিকার শ্রেণীর নামগুলি যে সাহসী নয় সেগুলি নির্বাচিত বেস শ্রেণীর থেকে পরোক্ষভাবে উত্তরাধিকারী হয়?
সাইমন বোসলে 26'16

যথাযথভাবে। বাল্ড সরাসরি উত্তরাধিকার সূত্রে প্রাপ্ত ক্লাস হবে।
ডেভিড

3

অবজেক্ট এক্সপ্লোরার থেকে ক্লাস চিত্র ফাইলটিতে ক্লাস বা নেমস্পেস টেনে আনুন ।

অন্তর্নির্মিত। নেট ক্লাসগুলির জন্য কীভাবে একটি সুন্দর শ্রেণীর ডায়াগ্রাম পাবেন?


লিঙ্কিত উত্তরটি যা স্ক্রিনশটের সাথে ধাপগুলি দেখায় তা পরীক্ষা করুন
I

1

প্রকারটি নির্বাচন করুন এবং কিছু দেখার জন্য ডান ক্লিক করুন --- কোড মানচিত্রে প্রদর্শন করুন - এটি নির্বাচন করুন যা এই ধরণের উত্তরাধিকারীদের জন্য .dgML ফাইল ফর্ম্যাট হিসাবে উত্তরাধিকার সূত্রে উত্তীর্ণ হয় এটি টাইপ সম্পর্কে আরও অনেক তথ্য দেয়


1

ভিজ্যুয়াল অ্যাসিস্ট ব্যবহারকারীদের বিকল্প হিসাবে, আপনি "গোটো সম্পর্কিত" প্রসঙ্গ মেনু আনতে শিফট + এএলটি + জি (ক্যারেটটি ক্লাসের নামের সাথে থাকা) টিপতে পারেন এবং যদি উত্পন্ন শ্রেণি থাকে তবে আপনি একটি সাবমেনু পাবেন তার জন্য এটি তাদের সমস্ত তালিকাভুক্ত করে এবং এমনকি উত্পন্ন শ্রেণীর মধ্যেও উত্তরাধিকার কাঠামো দেখায়।


0

শুধু এটি কোড।

Assembly asm = Assembly.LoadFrom(PATH_TO_PROJECT_OUTPUT);

var types = from t in asm.GetTypes()
            where t.BaseType != null && t.BaseType.ToString() == "System.Web.UI.Page"
            // if you want to add reference - where typeof (System.Web.UI.Page).Equals(t.BaseType) 
            select t;

foreach (var type in types)
{
    Console.WriteLine(type);
}

2
দুর্ভাগ্যক্রমে এটি আপনাকে কেবল প্রকারগুলিই বলে যা প্রত্যক্ষভাবে কোনও নির্দিষ্ট শ্রেণীর কাছ থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হয়, পরোক্ষভাবে কোনও শ্রেণীর অন্তর্গত হয় না। এর জন্য আপনাকে সম্ভবত এমজেডএন যা লিখেছিল তার মতো কিছু ব্যবহার করতে হবে।
ব্যবহারকারী420667

অথবা আপনি t.IsSubClassOf (টার্গেটক্লাস) ব্যবহার করতে পারেন।
ব্যবহারকারী420667

0

আপনি ভিএস ২০১২ তে আপগ্রেড হলে আপনি "কোড মানচিত্র" ব্যবহার করতে পারেন।
আপনি যে ধরণের উত্তরাধিকারের শ্রেণিবিন্যাস দেখতে চান তার উপর ডান ক্লিক করুন এবং "কোড মানচিত্রে যুক্ত করুন" নির্বাচন করুন। তারপরে কোড ম্যাপ ভিউতে আপনি নোডগুলি প্রসারিত করতে পারেন এবং "ডেরিভড / বেস ক্লাসগুলি দেখান" চয়ন করতে ডান ক্লিক করুন। দুর্ভাগ্যক্রমে এটি .NET সরবরাহিত ক্লাসগুলির জন্য কাজ করে না।


4
অন্য কারও কাছে এফওয়াইআই, এটি কেবল আপডেট 1 ইনস্টলড সহ ভিএস ২০১২ আলটিমেটকে প্রযোজ্য। দুর্ভাগ্যক্রমে, প্রিমিয়াম / প্রো লোকেরা এই মানচিত্রগুলি তৈরি করতে পারে না।
শান হ্যানলি

0

ভিজ্যুয়াল স্টুডিও ২০১২ এর জন্য ( পুনঃশিকার ছাড়াই )

  1. সলিউশন এক্সপ্লোরার-এ ক্লাসে ডান ক্লিক করুন (যার উদ্ভূত ক্লাসগুলি আপনি দেখতে চান)।
  2. ক্লাস ডায়াগ্রামে, ক্লাসে ডান ক্লিক করুন এবং 'উত্পন্ন ক্লাসগুলি দেখান' নির্বাচন করুন।

1
আবার, যতদূর আমি এটি বলতে পারি কেবলমাত্র আপনি লিখেছেন এমন উদ্ভূত ক্লাসগুলি দেখানো হবে। এই আসল প্রশ্নের সাথে বর্ণিত উদাহরণ দিয়ে কীভাবে কাজ করবে? (অ্যাকশনসাল্টের ধরণ)
ড্যান এস্পারজা

0

2020 আপডেট:

আপনি ভিজ্যুয়াল স্টুডিওর কোড মানচিত্র ব্যবহার করতে পারেন যা দুর্দান্ত কাজ করে।

কেবলমাত্র অধিকার শ্রেণী এবং নেভিগেট ক্লিক করুন:
Code Map> Show Related Items on Code Map>Show All Derived Types

এখানে চিত্র বর্ণনা লিখুন

বিঃদ্রঃ:

  • এই বৈশিষ্ট্যটি কেবলমাত্র ভিজ্যুয়াল স্টুডিওর এন্টারপ্রাইজ সংস্করণে পাওয়া যায় এবং যদি আপনার কাছে না থাকে তবে আপনি এখান থেকে এন্টারপ্রাইজ প্রাকদর্শন সংস্করণটি ডাউনলোড করে এটি বিনামূল্যে পেতে পারেন ।
  • অথবা আপনি কেবল আপনার দলটির কাউকেই এই বৈশিষ্ট্যটি সহ কোড ম্যাপটি এই বৈশিষ্ট্যটির সাথে ভাগ করে নিতে বলুন if

PS এটির মেশিনে এন্টারপ্রাইজ সংস্করণ (বা এটির অন্তত প্রাকদর্শন সংস্করণ) রাখার পক্ষে মূল্য রয়েছে, কারণ এতে অন্যান্য সংস্করণের অন্তর্ভুক্ত নয় এমন সত্যিই দরকারী সরঞ্জামাদির গুচ্ছ রয়েছে।


1
দেখে মনে হচ্ছে এটি কেবল আপনার জন্য উত্সযুক্ত প্রকারের জন্যই কাজ করে। ActionResult(ওপির উদাহরণ) এর মতো জিনিসগুলি নয়
আইয়েন

-1

এটি করার একটি খুব সহজ উপায় হ'ল : Classname"সন্ধান করুন এবং প্রতিস্থাপন উইন্ডো" (সিটিআরএল + এফ) অনুসন্ধান করুন এবং "বিকল্পগুলি / ম্যাচের পুরো শব্দটি অনুসন্ধান করুন" বিকল্পটি ব্যবহার করুন। আপনি কেবল উত্তরাধিকারসূত্রে প্রাপ্ত ক্লাসগুলি পাবেন।


1
এটি প্রতিবার কাজ করে না, বিবেচনা করুনclass DDerived : IInterface, BBase
জিরকামত
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.