CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 74

74
Chương 2: Thao tác dữ liệu

3. Tạo một đối tượng

System.Reflection.AssemblyName

để xác định tên của assembly mà

phương thức

Regex.CompileToAssembly

sẽ tạo ra.

4. Gọi phương thức

Regex.CompileToAssembly

, truyền các đối số là mảng

RegexCompilationInfo

và đối tượng

AssemblyName

.

Quá trình trên tạo ra một assembly chứa các khai báo lớp cho từng biểu thức chính quy được
biên dịch, mỗi lớp dẫn xuất từ

Regex

. Để sử dụng một biểu thức chính quy đã được biên dịch

trong assembly, bạn cần tạo đối tượng biểu thức chính quy này và gọi các phương thức của nó
giống như khi tạo nó với phương thức khởi dựng

Regex

bình thường. Bạn nhớ thêm tham

chiếu tới assembly khi sử dụng các lớp biểu thức chính quy nằm trong nó.
Đoạn mã sau minh họa cách tạo một assembly có tên là MyRegex.dll, chứa hai biểu thức chính
quy có tên là

PinRegex

CreditCardRegex

:

using System.Text.RegularExpressions;

using System.Reflection;

public class CompiledRegexExample {

public static void Main() {

// Tạo mảng chứa các đối tượng RegexCompilationInfo.

RegexCompilationInfo[] regexInfo = new RegexCompilationInfo[2];

// Tạo đối tượng RegexCompilationInfo cho PinRegex.

regexInfo[0] = new RegexCompilationInfo(@"^\d{4}$",

RegexOptions.Compiled, "PinRegex", "", true);

// Tạo đối tượng RegexCompilationInfo cho CreditCardRegex.

regexInfo[1] = new RegexCompilationInfo(

@"^\d{4}-?\d{4}-?\d{4}-?\d{4}$",

RegexOptions.Compiled, "CreditCardRegex", "", true);

// Tạo đối tượng AssemblyName để định nghĩa assembly.

AssemblyName assembly = new AssemblyName();

assembly.Name = "MyRegEx";

// Tạo các biểu thức chính quy được biên dịch.

Regex.CompileToAssembly(regexInfo, assembly);

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.