2012-03-27 3 views

답변

4

T4 변환을 사용하여 작업을 수행 할 수 있습니다. "새 항목 추가"및 "텍스트 템플리트"를 사용하십시오.

T4 언어는 C# 코드를 사용하여 C# 코드를 생성하는 방법입니다. 대부분의 텍스트는 출력 파일에 직접 구문 분석되며, 새 코드는 <##> 태그 안에 쓸 수 있습니다. 이 파일은 포장 수입과 using 문으로 시작, 그래서 매우 간단한 템플릿과 같이 될 수있다 :>

이 템플릿은을 만들 것

<#@ template debug="false" hostspecific="false" language="C#" #> 
    <#@ import namespace="System.Data" #> 
    <#@ import namespace="System.Data.SqlClient" #> 
    <#@ assembly name="System.Data" #> 

    namespace Some.Namespace 
    { 
     public class TestClass 
     { 
    <# 

    using(var cnn = new SqlConnection(@"server=.\sqlexpress;Integrated Security=SSPI;Database=ApplicationManagement")) 
    { 
     cnn.Open(); 
     var cmd = new SqlCommand("SELECT TextKey, TextValue FROM TblBrandingKeyValues WHERE BrandingIdentifier = 'Default'", cnn); 

     var reader = cmd.ExecuteReader(); 

     while (reader.Read()) 
     { 
      var defaultText = reader.GetString(1); 
      var name = reader.GetString(0); 


    #> 
    public string <#= name #> 
    { 
     get { return "<#= defaultText #>"; } 
    } 

    <# 
     } 
    } 

    #> 

    } 
} 

} < # @ 출력 확장 = # "CS를." 데이터베이스 테이블 TblBrandingKeyValues에서 검색된 읽기 전용 속성 집합이있는 클래스 TestClass

나는이 T4 tutorials을 권하고 싶습니다.

0

당신이 원하는 경우 :

+-------------------+ 
| Id | Name   | 
+----+--------------+ 
| 1 + foo   | 
| 2 + hello.world | 
| 3 + null   | 
+-------------------+ 

내가 같은 외모는 다음과 같은 것이다class를 자동으로 생성하고 싶습니다 나만의 맞춤 도구를 만들려면 System.CodeDom 네임 스페이스 을 보면 코드 생성에 필요한 모든 것이 포함되어 있습니다. 물론 클래스를 생성하는 알고리즘을 코딩해야합니다. .NET 이미 엔티티를 사용하여 (예를 들어, 정확히 같은 일을 "건설 인을"도구/네임 스페이스를 많이 제공하는

http://msdn.microsoft.com/en-us/library/ms404245.aspx

곰 염두에두고 어쨌든 : 아래 링크에서

대한 추가 정보 프레임 워크)