Thuộc tính mô hình miền của chúng tôi đều là "Nội bộ" để bảo vệ cách tiếp cận BDD mà chúng tôi đã thực hiện. Tôi thực sự thích làm mọi thứ bên trong.Sử dụng các thuộc tính nội bộ trong RazorEngine
Gần đây tôi đang cố gắng để RazorEngine xử lý mẫu bằng cách sử dụng một trong các mô hình miền này với các thành viên nội bộ. Khi biên dịch, tôi gặp lỗi: .Attendee.FirstName' is inaccessible due to its protection level
Tôi đã thử thêm dòng này [assembly: InternalsVisibleTo("RazorEngine")]
vào AssemblyInfo.cs của mô hình miền của tôi, nhưng dường như nó không giúp ích gì.
Làm cách nào để làm cho các thuộc tính nội bộ của tôi hiển thị với RazorEngine trong cùng một dự án.
Mã
public class Attendee : AggregateRoot {
protected internal virtual new long Id { get; protected set; }
protected internal virtual Event Event { get; protected set; }
protected internal virtual bool? Online { get; protected set; }
protected internal virtual string FirstName { get; protected set; }
protected internal virtual string LastName { get; protected set; }
protected internal virtual string Email { get; protected set; }
protected internal virtual string Affiliation { get; protected set; }
protected internal virtual string MeetingPassword { get; protected set; }
protected internal virtual decimal AmountPaid { get; protected set; }
protected internal virtual DateTime DateRegistered { get; protected set; }
public virtual void SendEmail() {
var assembly = Assembly.GetExecutingAssembly();
var stream = assembly.GetManifestResourceStream("VirtualAcademy.Domain.Email.RegistrationConfirmation.cshtml");
var reader = new StreamReader(stream);
var template = reader.ReadToEnd();
Engine.Razor.RunCompile(template, "key", null, this);
}
CSHTML File
@model VirtualAcademy.Domain.Attendee
<html>
<body style="font: 12px arial, sans-serif">
<div>
<span id="SalutationLabel">Hello @Model.FirstName @Model.LastName,</span>
tôi không thực sự có được tại sao điều này là một câu hỏi - nếu nó là một mô hình được thiết kế để được tiêu thụ bởi các thư viện của bên thứ ba cần được công khai. – caesay