현재 내가 쓴 주제는 코드 공유입니다. 여러 파일간에 코드를 공유하기 위해 액세스 수정 자 internal
을 사용하는 것이 좋습니다. 그러나 그것은 무엇입니까? 아니면 내가 틀렸어? 모든 사람이 소스에 액세스 할 수 없기 때문에 링크를 게시 할 수 없습니다.`internal` 액세스 한정자를 사용하여 클래스를 여러 파일로 분할 할 수 있습니까?
하나의 파일 (인터페이스 또는 추상 클래스와 같은)에 클래스 정의를 포함하고 다른 파일에이 파일을 구현할 수 있습니까? 여기에서 internal
을 사용하고 있습니까?
다음은 일부 의사 코드입니다 (분명히 작동하지 않음). 다른 파일에
internal static class SongLoader
{
internal async static Task<IEnumerable<Song>> Load();
internal async static Task<Stream> OpenData();
}
구현 :
internal static class SongLoader
{
internal const string Filename = "songs.json";
internal static async Task<IEnumerable<Song>> Load()
{
// implementation
}
internal static Stream OpenData()
{
// implemenation
}
}
또는 internal
액세스 한정자를 사용하면서, Load()
하나 개의 파일 및 다른에 OpenData()
에 정의 된 가질 수 있습니다 하나 개의 파일에 정의? 이것이 가능한가? 방법?
같은 어셈블리에있는 파일 내 : https://msdn.microsoft.com/en-us/library/7c5ka91b.aspx –
@Stanley : 예, 같은 어셈블리에 컴파일되므로 동일한 어셈블리에 있어야합니다. ([공유 프로젝트] (https://developer.xamarin.com/guides/cross-platform/application_fundamentals/shared_projects/) 참조). – grabner
'내부 '는 가시성 수정 자일뿐입니다. 클래스를 여러 파일로 분할하는 것과는 아무런 관련이 없습니다. 그 키워드는'partial'입니다. 그러나 당신이 묘사하고있는 "수업의 정의"와 같은 것은 없습니다. 가장 가까운 것은 "부분적인 메소드"이지만, 그들은'void'를 반환해야하며 항상 private 메소드입니다. –