Ho una classe A con un metodo pubblico in C#. Voglio consentire l'accesso a questo metodo solo alla classe B. È possibile?C'è un modo per limitare l'accesso a un metodo pubblico solo a una classe specifica in C#?
UPDATE:
questo è quello che vorrei fare:
public class Category
{
public int NumberOfInactiveProducts {get;}
public IList<Product> Products {get;set;}
public void ProcessInactiveProduct()
{
// do things...
NumberOfInactiveProducts++;
}
}
public class Product
{
public bool Inactive {get;}
public Category Category {get;set;}
public void SetInactive()
{
this.Inactive= true;
Category.ProcessInactiveProduct();
}
}
mi piacerebbe altri programmatori da fare:
var prod = Repository.Get<Product>(id);
prod.SetInactive();
mi piacerebbe assicurati che non chiamino manualmente ProcessInactiveProduct:
var prod = Repository.Get<Product>(id);
prod.SetInactive();
prod.Category.ProcessInactiveProduct();
Desidero consentire l'accesso di Category.ProcessInactiveProduct solo al prodotto di classe. Altre classi non dovrebbero essere in grado di chiamare Category.ProcessInactiveProduct.
+1 Domanda molto interessante. –
Se si desidera solo accedervi dalla classe B, questo non è un metodo "pubblico". – Nate