これらのファイルがあるとします:
MyCode.cs
namespace MyCodeNamespace
{
public class MyClass
{
//OMITTED
}
internal static class MyExtensions
{
internal static void Foo(this string str)
{
//OMITTED
}
}
}
OtherCode.cs
using MyCodeNamespace;
namespace OtherCodeNamespace
{
//OMITTED
}
2 つのファイルは同じアセンブリの一部です。Foo を MyCode.cs にアクセス可能にする方法はありますが、OtherCode.cs にはアクセスできませんか? 私の質問は次の質問に似ています: C# 拡張メソッドは 1 つのクラス (「プライベート」) 内でのみ表示およびアクセスできます が、その受け入れられた答えは、私が探しているものではありません。作業中のコードにのみ表示される拡張メソッドを作成したいのですが、上記の質問への回答によると、誰かが「using」ステートメントを追加することでアクセスできます。同じアセンブリ内の別のクラスでさえ、自分のコードにのみ表示され、他の場所には表示されない拡張メソッドを作成する方法はありますか?
拡張メソッドを呼び出すための構文が便利で、私が取り組んでいることに役立つのでお願いします (そうでなければ、代わりにプライベート メソッドを作成するだけです)。彼らが想定していることをしない場合に備えて、彼らのコード。Visual Studio の Intellisense のおかげで、私の拡張メソッドは現在、使用可能なメソッドのリストに表示されています (それらが含まれる名前空間を追加するオプションと共に)。