====== Generics ====== Generics are a new feature in the .NET framework, and they permit to specify also the type of a parameter for a function. Whenever you see a '''' parameter, it is a generic definition (but it could be any letter). ===== Use of generics ===== As sample how to use generics look at the [[collections:list|System.Collections.Generic.List]] class: local oList as List oList := List{} oList:Add( "hi girls" ) oList:Add( "hi guys" ) The List class is defined as follows: public class List implements IList, ICollection, IEnumerable, IEnumerable, IList, ICollection, IReadOnlyList, IReadOnlyCollection That means that you need to define which datatype the List object should contain. In the sample before it is a string, but it can be any datatype/class. ===== Define a method with generics ===== ===== Define a class with generics ===== ===== More informations ===== You can also look at this page for a better explanation: [[http://www.tutorialsteacher.com/csharp/csharp-generics|http://www.tutorialsteacher.com/csharp/csharp-generics]] Please see these two topics of the Microsoft C# Programming Guide: * [[https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/generics/generic-classes|Generic Classes]] * [[https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/generics/generic-type-parameters|Generic Type Parameters]] Another source of more information about generics can be found in the Pearls section of the X# forums: [[https://www.xsharp.info/forum/pearls/247-getting-to-grips-with-generics|Getting to grips with generics]] Please note that Vulcan.NET could use methods with generic type parameters, but could not let you create them.