3
Answers

Interface with member variables with datatype as interface

Can an Interface in C# have a data member with the type of interface itself, which is possible with classes? For example: Class SomeClass { //Some properties defined //Method follows as void method1 (SomeClass var1, int var2) { //set of statements to be executed }} Here in question, I am referring to the type of parameter passed in the method of class which is of same type as of class itself. Q. So, is this possible with an Interface as well?
Answers (3)
0
Surya Kant

Surya Kant

NA 1.6k 149.6k 7y
Hi Shashank
Yes it's possible;
check the bellow code;
 
interface MyDemoInterface
{
void getdata(MyDemoInterface ie);
 
 
class DemoInterface:MyDemoInterface
{
int no { get; set; }
public string name { get; set; }
public void GetData(DemoInterface dd)
{

}

public void getdata(MyDemoInterface ie)
{
throw new NotImplementedException();
}
Hope this helpfull.
0
Manas Mohapatra

Manas Mohapatra

NA 29.3k 3.3m 7y
In the interface, you can specify the property:
 
public interface IPolicy
{
   string Name { get; set; }
}
 
You need to implement it in implementation class:
 
public class MyPolicy : IPolicy
{
   public string Name { get; set; }
}
0
Ankit Sharma

Ankit Sharma

NA 8.8k 140.8k 7y
Hi Shashank,
 
Interfaces in C# don't contain fields
 
https://stackoverflow.com/questions/2115114/why-cant-c-sharp-interfaces-contain-fields