2010-05-09 57 views
1

我想知道我怎樣才能使嵌入代碼的源文件(如果可能的話),這樣的事情:將代碼文件包含到C#中?爲其他人創建圖書館?

class X 
{ 
include "ClassXsource" 
} 

我的第二個問題 - 我可以建立DLL或類似的東西爲我的同事使用?我需要他們能夠從我的「部分」調用方法,但不要修改或查看其內容。基本上只使用命名空間「MyNamespace」並調用它的方法,但我從來沒有做過這樣的事情。 謝謝

回答

3

C#編譯器不支持包含文件。您當然可以使用預編譯器,它會讀取您的源代碼文件,並在將新文件傳遞給編譯器之前,將包含的文件插入它們中。

至於生成類庫,當然。你可以這樣做有兩種方式:

  1. 您可以提供的項目源代碼,因此,他們將與它的所有文件添加項目到自己的項目,因而編譯類庫作爲其解決方案的一部分。
  2. 您可以自己編譯它,它會在磁盤(YourClassLibrary.dll)上生成一個程序集文件,然後將該文件提供給您的同事。然後他們會添加一個對該文件的引用,並可以開始使用它。
0

除了通過使用某些外部預處理器之外,您不能。您可以使用T4,Microsoft已將其用作文本模板工具,例如,用實體框架生成代碼;看到這個MSDN documentation page

用T4,你將包括另一個這樣的源文件:

<#@ include file="c:\test.txt" #> 

我們更爲根本的一點:包括源文件是不是你平時怎麼在創建庫,特別是沒有。淨。你要做的是創建一個包含你的方法的類(可能是一個靜態類)。然後,您可以編譯該文件,並將生成的程序集(.dll文件)提供給您的同事。他們將能夠將其作爲參考加載到他們的.NET項目中並使用您的課程。

public static class MyFunctions 
{ 
    public static void MyMethod1(...) { ... } 
    public static int MyMethod2(...) { ... } 
    ... 
} 

(當然這樣的代碼比良好的面向對象設計更加程序化,但是這可能會或可能不會對你的問題。)

0

不,不是那樣的。但是你可以創建一個類庫,並把它們需要使用的所有類放在那裏。他們只是從他們的項目中添加對該dll的引用並導入名稱空間,瞧,他們可以使用這些類。