এটি মূল্যবান কিসের জন্য, মাইক্রোসফ্টের রোজলিন সংকলকটিতে জেনেরিক শ্রেণি থেকে উত্তরাধিকারী হওয়া এবং শ্রেণীর নাম পরিবর্তন না করে কীভাবে ব্যবহার করা যায় তার একটি উদাহরণ এখানে। (এটি দেখে আমি এতটাই ত্রুটিযুক্ত হয়েছি যে এটি সত্যই সম্ভব ছিল কিনা তা দেখার জন্য আমি আমার সন্ধানে এখানেই শেষ হয়েছি))
প্রকল্পের কোডঅ্যানালাইসিসে আপনি এই সংজ্ঞাটি পেতে পারেন:
/// <summary>
/// Common base class for C# and VB PE module builder.
/// </summary>
internal abstract class PEModuleBuilder<TCompilation, TSourceModuleSymbol, TAssemblySymbol, TTypeSymbol, TNamedTypeSymbol, TMethodSymbol, TSyntaxNode, TEmbeddedTypesManager, TModuleCompilationState> : CommonPEModuleBuilder, ITokenDeferral
where TCompilation : Compilation
where TSourceModuleSymbol : class, IModuleSymbol
where TAssemblySymbol : class, IAssemblySymbol
where TTypeSymbol : class
where TNamedTypeSymbol : class, TTypeSymbol, Cci.INamespaceTypeDefinition
where TMethodSymbol : class, Cci.IMethodDefinition
where TSyntaxNode : SyntaxNode
where TEmbeddedTypesManager : CommonEmbeddedTypesManager
where TModuleCompilationState : ModuleCompilationState<TNamedTypeSymbol, TMethodSymbol>
{
...
}
তারপরে প্রকল্পে CSharpCodeanalysis এই সংজ্ঞা আছে:
internal abstract class PEModuleBuilder : PEModuleBuilder<CSharpCompilation, SourceModuleSymbol, AssemblySymbol, TypeSymbol, NamedTypeSymbol, MethodSymbol, SyntaxNode, NoPia.EmbeddedTypesManager, ModuleCompilationState>
{
...
}
এই নন-জেনেরিক পেমোডুল বিল্ডার শ্রেণিটি সিএসআরএপকোডেনালাইসিস প্রকল্পে ব্যাপকভাবে ব্যবহৃত হয় এবং সেই প্রকল্পের বেশ কয়েকটি শ্রেণি প্রত্যক্ষ বা অপ্রত্যক্ষভাবে এর উত্তরাধিকার সূত্রে প্রাপ্ত হয়।
এবং তারপরে প্রকল্প বেসিক কোডানালাইসিসে এই সংজ্ঞা রয়েছে:
Partial Friend MustInherit Class PEModuleBuilder
Inherits PEModuleBuilder(Of VisualBasicCompilation, SourceModuleSymbol, AssemblySymbol, TypeSymbol, NamedTypeSymbol, MethodSymbol, SyntaxNode, NoPia.EmbeddedTypesManager, ModuleCompilationState)
যেহেতু আমরা (আশাবাদী) ধরে নিতে পারি যে রোজলিন সি # এর বিস্তৃত জ্ঞানসম্পন্ন লোকেরা লিখেছিলেন এবং কীভাবে এটি ব্যবহার করা উচিত আমি ভাবছি এটি কৌশলটির একটি সুপারিশ।