Khi tôi cố gắng truy cập đối tượng Host từ phương thức không tĩnh được khai báo trong < # + #> dấu ngoặc, mọi thứ hoạt động ok. Nhưng tôi cần phải truy cập nó từ một phương pháp học, như thế này:Đối tượng lưu trữ truy cập từ lớp T4
<#+
public class ProjectTraverser
{
public void Traverse()
{
var a = Host;
}
}
#>
tôi nhận được lỗi sau khi mẫu này thực hiện: "chuyển đổi Biên soạn: Không thể truy cập vào một thành viên không tĩnh của loại ngoài 'Microsoft.VisualStudio .TextTemplating7D03DF372FEAC3D3A28C011A41F02403.GeneratedTextTransformation' qua kiểu lồng nhau 'Microsoft.VisualStudio.TextTemplating7D03DF372FEAC3D3A28C011A41F02403.GeneratedTextTransformation.ProjectTraverser' d: \ Projects \ Test Solutions \ GettingStarted \ TelerikMvc3RazorApplication \ TextTemplate2.tt"
Hãy chia sẻ bất kỳ ý tưởng.
Đó là chính xác như nó nói (không thể truy cập thành viên không tĩnh của loại bên ngoài) nhưng bạn có thể vượt qua máy chủ trong một constructor để ProjectTraverser. – FuleSnabel
Cảm ơn bạn đã bình luận của bạn FuleSnabel. Không phải là mức đóng gói tốt nhất, nhưng nó vẫn là một giải pháp. – Narek