2017-06-06 7 views
-1

私はC#のメッシュに使用するライブラリ(私ではない)を持っています。このライブラリは.dllでコンパイルされています。だから私は内部のコードにアクセスすることはできません。.dllクラスからの関数の呼び出しとそれを私のカスタムクラスとの接続C#

しかし私は自分のカスタム静的クラスを作成しました。これはそのライブラリにヘルパ関数がいっぱいです。

私はすべての単一の関数は次のように書かれていることに気づいた:あなたは、すべて見て、私は

(、他のいくつかの変数をメッシュ)MeshUtilities.functionとしてこれらの機能を呼び出すしかし、私のアプリケーションで

public static class MeshUtilities{ 

public static functionA (Mesh mesh, some other variable) 
{ ... } 

public static functionB (Mesh mesh, some other variable) 
{ ... } 

public static functionC (Mesh mesh, some other variable) 
{ ... } 

} 

単一の機能は、タイプメッシュメッシュから開始します。

このヘルパークラスは、mesh.FunctionFromMyCustomHelperClass(他のいくつかの変数)を書くだけで済むような方法で書くことができますか?

答えて

1

最後の段落を非常に誤解していない限り、that's an extension method

public static class MeshUtilities{ 

    public static void functionA (this Mesh mesh, object someOtherVariable) 
    { 
     mesh.SomeOtherMethod(baz.foobar()); 
     // etc. 
    } 

そしてそうのように使用します:最初のパラメータの型の前に thisを追加し、あなたがそれ拡張クラスにしないのはなぜ

var mesh = new Mesh(); 

mesh.functionA(3); 
+0

:) –

3

public static class MeshUtilities{ 

public static functionA (this Mesh mesh, some other variable) 
{ ... } 

public static functionB (this Mesh mesh, some other variable) 
{ ... } 

public static functionC (this Mesh mesh, some other variable) 
{ ... } 

} 

そして、このようにそれを呼び出す:はい、どうもありがとうございました

Mesh ourMesh = new Mesh(); 
ourMesh.functionC(someVariable); 
関連する問題