Click here to Skip to main content
15,888,803 members
Home / Discussions / C#
   

C#

 
AnswerRe: best coding practises in c# Pin
aadhira14-Apr-15 20:22
aadhira14-Apr-15 20:22 
GeneralRe: best coding practises in c### Pin
dhivya.sakthi14-Apr-15 20:40
dhivya.sakthi14-Apr-15 20:40 
SuggestionRe: best coding practises in c# Pin
aadhira14-Apr-15 21:09
aadhira14-Apr-15 21:09 
GeneralMessage Removed Pin
14-Apr-15 19:11
dhivya.sakthi14-Apr-15 19:11 
QuestionGeneric interface and generic delegate in simple terms. Pin
Gyana_Ranjan Dash14-Apr-15 2:14
Gyana_Ranjan Dash14-Apr-15 2:14 
AnswerRe: Generic interface and generic delegate in simple terms. Pin
Pete O'Hanlon14-Apr-15 2:44
mvePete O'Hanlon14-Apr-15 2:44 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
Gyana_Ranjan Dash14-Apr-15 2:49
Gyana_Ranjan Dash14-Apr-15 2:49 
GeneralRe: Generic interface and generic delegate in simple terms. PinPopular
Pete O'Hanlon14-Apr-15 4:53
mvePete O'Hanlon14-Apr-15 4:53 
Okay so a generic interface is, at its most basic level, an interface that has a generic element to it. In other words, the signature of the interface means that it can be used for different types. Consider this interface:
C#
public interface IPersist<T>
{
  void LoadLayout(T instance);
  void SaveLayout(T instance);
}
Suppose we have a class that looks like this:
C#
public class MyModel
{
  public string Name { get; set; }
  public string FriendlyName { get; set; }
  public DateTime LastLogin { get; set; }
}
Now, we want to write a class that performs the persistence for this class. Let's write it like this:
C#
public class MyModelPersistence : IPersist<MyModel>
{
  public void LoadLayout(MyModel instance)
  {
    // Work directly with items such as item.Name
  }

  public void SaveLayout(MyModel instance)
  {
    // Work directly with items such as item.Name
  }
}
A common use of generic interfaces is in providing the interface definitions for generic collections such as List<T>.

Now, where things get really interesting is when it comes to covariant and contravariant interfaces. I will direct you to the discussion here[^]. The discussion around the zoo is an excellent example of using co and contra variance.

Similar to a generic interface, a generic delegate is one that uses the generic parameter to create a strong type (basically, by giving it a Type, you remove the need to use object as the delegate type, thus removing the need to perform boxing/unboxing to get the value of the parameter).
GeneralRe: Generic interface and generic delegate in simple terms. Pin
Simon_Whale14-Apr-15 5:16
Simon_Whale14-Apr-15 5:16 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
Pete O'Hanlon14-Apr-15 5:53
mvePete O'Hanlon14-Apr-15 5:53 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
BillWoodruff14-Apr-15 7:13
professionalBillWoodruff14-Apr-15 7:13 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
Pete O'Hanlon14-Apr-15 7:22
mvePete O'Hanlon14-Apr-15 7:22 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
Gyana_Ranjan Dash14-Apr-15 19:30
Gyana_Ranjan Dash14-Apr-15 19:30 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
Pete O'Hanlon14-Apr-15 20:03
mvePete O'Hanlon14-Apr-15 20:03 
AnswerRe: Generic interface and generic delegate in simple terms. Pin
BillWoodruff14-Apr-15 8:05
professionalBillWoodruff14-Apr-15 8:05 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
Richard Deeming14-Apr-15 9:18
mveRichard Deeming14-Apr-15 9:18 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
BillWoodruff14-Apr-15 12:21
professionalBillWoodruff14-Apr-15 12:21 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
Richard Deeming15-Apr-15 1:03
mveRichard Deeming15-Apr-15 1:03 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
BillWoodruff15-Apr-15 2:58
professionalBillWoodruff15-Apr-15 2:58 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
Sascha Lefèvre15-Apr-15 3:39
professionalSascha Lefèvre15-Apr-15 3:39 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
Pete O'Hanlon14-Apr-15 9:32
mvePete O'Hanlon14-Apr-15 9:32 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
BillWoodruff14-Apr-15 12:35
professionalBillWoodruff14-Apr-15 12:35 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
Pete O'Hanlon14-Apr-15 20:37
mvePete O'Hanlon14-Apr-15 20:37 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
Eddy Vluggen14-Apr-15 10:16
professionalEddy Vluggen14-Apr-15 10:16 
GeneralRe: Generic interface and generic delegate in simple terms. Pin
BillWoodruff14-Apr-15 12:41
professionalBillWoodruff14-Apr-15 12:41 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.