Which of the following is/are feature of delegate

Delegates in C# are objects which points towards a function which matches its signature. Delegates are reference type used to encapsulate a method with a specific signature. Delegates are similar to function pointers in C++; however, delegates are type-safe and secure.We can use delegates in asynchronous-style programming. We can define delegates inside or outside of classes.