CSharpCodeProvider.GenerateCodeFromMember 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 텍스트 작성기와 코드 생성기 옵션을 사용하여 지정된 클래스 멤버에 대한 코드를 생성합니다.
public:
override void GenerateCodeFromMember(System::CodeDom::CodeTypeMember ^ member, System::IO::TextWriter ^ writer, System::CodeDom::Compiler::CodeGeneratorOptions ^ options);
public override void GenerateCodeFromMember (System.CodeDom.CodeTypeMember member, System.IO.TextWriter writer, System.CodeDom.Compiler.CodeGeneratorOptions options);
override this.GenerateCodeFromMember : System.CodeDom.CodeTypeMember * System.IO.TextWriter * System.CodeDom.Compiler.CodeGeneratorOptions -> unit
Public Overrides Sub GenerateCodeFromMember (member As CodeTypeMember, writer As TextWriter, options As CodeGeneratorOptions)
매개 변수
- member
- CodeTypeMember
코드를 생성할 CodeTypeMember입니다.
- writer
- TextWriter
쓸 TextWriter입니다.
- options
- CodeGeneratorOptions
코드를 생성할 때 사용할 CodeGeneratorOptions입니다.
예제
다음 코드 예제에서는 메서드를 GenerateCodeFromMember 사용하여 CodeDOM 그래프에서 사용할 코드 조각을 만드는 방법을 보여줍니다. 이 코드 예제는에 대해 제공 된 큰 예제의 일부 합니다 GenerateCodeFromMember 메서드는 CodeDomProvider 클래스입니다.
static void GenCodeFromMember(CodeDomProvider provider, CodeGeneratorOptions options)
{
options.BracingStyle = "C";
CodeMemberMethod method1 = new CodeMemberMethod();
method1.Name = "ReturnString";
method1.Attributes = MemberAttributes.Public;
method1.ReturnType = new CodeTypeReference("System.String");
method1.Parameters.Add(new CodeParameterDeclarationExpression("System.String", "text"));
method1.Statements.Add(new CodeMethodReturnStatement(new CodeArgumentReferenceExpression("text")));
StringWriter sw = new StringWriter();
provider.GenerateCodeFromMember(method1, sw, options);
snippetMethod = new CodeSnippetTypeMember(sw.ToString());
}
Shared Sub GenCodeFromMember(ByVal provider As CodeDomProvider, ByVal options As CodeGeneratorOptions)
options.BracingStyle = "C"
Dim method1 As New CodeMemberMethod()
method1.Name = "ReturnString"
method1.Attributes = MemberAttributes.Public
method1.ReturnType = New CodeTypeReference("System.String")
method1.Parameters.Add(New CodeParameterDeclarationExpression("System.String", "text"))
method1.Statements.Add(New CodeMethodReturnStatement(New CodeArgumentReferenceExpression("text")))
Dim sw As New StringWriter()
provider.GenerateCodeFromMember(method1, sw, options)
snippetMethod = New CodeSnippetTypeMember(sw.ToString())
End Sub
End Class
설명
멤버는 컨텍스트에 따라 다르게 생성됩니다. 예를 들어 인터페이스의 메서드 또는 열거형의 필드가 클래스의 메서드 또는 필드와 다르게 생성됩니다. 이 구현은 클래스 컨텍스트의 멤버에 대한 코드를 생성합니다.
적용 대상
추가 정보
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET