मैं कुछ फाइलें बनाने के लिए एक विजुअल स्टूडियो आइटम टेम्पलेट बना रहा हूं जो 'कंटेनर' फ़ाइल पर निर्भर करता है।
अंतिम फ़ाइल <ProjectItem SubType="Code" TargetFileName="$fileinputname$\I$fileinputname$ View.cs" ReplaceParameters="true">Container View.cs</ProjectItem>
एक दृश्य इंटरफ़ेस बनाता है जो एक निश्चित मॉडल प्रकार की अपेक्षा करता है। हालांकि $safeitemname$
पैरामीटर जैसा कि मैंने अपेक्षित काम नहीं किया था।
आउटपुट कंटेनर View.cs फ़ाइल:
public interface IIMy_Triplet_View : IView<IMy_Triplet_View_Model>
{
}
अपेक्षित:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using WebFormsMvp;
namespace $rootnamespace$
{
public interface $safeitemname$_View : IView<$safeitemname$_Model>
{
}
}
:
public interface IMy_Triplet_View : IView<My_Triplet_Model>
{
}
यह कंटेनर View.cs टेम्पलेट के लिए स्रोत है
और .vstemplate फ़ाइल
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
<TemplateData>
<DefaultName>Model-View-Presenter</DefaultName>
<Name>Model-View-Presenter</Name>
<Description>Creates a model-view-presenter triplet</Description>
<ProjectType>CSharp</ProjectType>
<SortOrder>10</SortOrder>
<Icon>__TemplateIcon.png</Icon>
<PreviewImage>__PreviewImage.png</PreviewImage>
</TemplateData>
<TemplateContent>
<References>
<Reference>
<Assembly>WebFormsMvp</Assembly>
</Reference>
</References>
<ProjectItem SubType="Code" TargetFileName="$fileinputname$" ReplaceParameters="false">Container</ProjectItem>
<ProjectItem SubType="Code" TargetFileName="$fileinputname$\$fileinputname$ Model.cs" ReplaceParameters="true">Container Model.cs</ProjectItem>
<ProjectItem SubType="Code" TargetFileName="$fileinputname$\$fileinputname$ Presenter.cs" ReplaceParameters="true">Container Presenter.cs</ProjectItem>
<ProjectItem SubType="Code" TargetFileName="$fileinputname$\I$fileinputname$ View.cs" ReplaceParameters="true">Container View.cs</ProjectItem>
</TemplateContent>
</VSTemplate>