ראינו פעם שעברה כיצד ניתן להזריק לType גנרי פרמטרים גנריים.
לפעמים אנחנו מעוניינים לעשות להפך – יש לנו Type גנרי שהוזרקו אליו הפרמטרים, ואנחנו מעוניינים לקבל את הטיפוס הגנרי (ללא הפרמטרים הגנריים המוזרקים), או לחלופין לקבל את הפרמטרים הגנריים המוזרקים.
כדי להשיג את הType הגנרי ללא הפרמטרים הגנריים המוזרקים, נוכל להשתמש בפונקציהGetGenericTypeDefinition:
1
2
Type closedDictionaryType = typeof (Dictionary<string,int>);
Type unboundDictionaryType = closedDictionaryType.GetGenericTypeDefinition(); // typeof(Dictionary<,>)
כדי לחלץ את הארגומנטים הגנריים נוכל להשתמש בפונקציה GetGenericArguments המחזירה לנו מערך של הארגומנטים הגנריים: