Когда я читаю ваш вопрос, вы можете иметь в виду две вещи.
Во-первых, если вам нужна функция в классе A, которая может быть переопределена в дочернем классе B, но невидима для любого внешнего класса:
public class ClassA
{
protected virtual ReturnType FunctionName(...) { ... }
}
public class ClassB
{
protected override ReturnType FunctionName(...) { ... }
}
Во-вторых, если вы хотите заставить реализующий класс определить функцию:
public abstract class ClassA
{
protected abstract ReturnType FunctionName(...);
}
public class ClassB
{
protected override ReturnType FunctionName(...) { ... }
}
Другая концепция, на которую вы могли бы взглянуть, если вы просто копаетесь в C #, которая в некотором роде связана с частичными классами. Это идея объединения двух исходных файлов во время компиляции для создания одного класса, оба из одной сборки:
Файл 1:
public partial class ClassA
{
private ReturnType FunctionName(...);
}
Файл 2:
public partial class ClassA
{
//actual implimentation
private ReturnType FunctionName(...){ ... };
}
Частицы не используются широко, за исключением случаев, когда речь идет о сгенерированных файлах, таких как файлы Linq2Sql, EDM, WinForms и т. Д.