새내기 문제입니다. VB.Net에서 ASP.Net MVC 응용 프로그램을 작성 중이며 NerdDinner를 샘플로 사용하고 있습니다 (C#에 있음). 나는 Models \ Dinner.cs에있는 코드의 검증 과정을 고수하고있다. 내가 VB에서 닷넷 http://www.developerfusion.com/tools/convert/csharp-to-vb/ 사용하여 변환 시도했다 그러나 그것은 GetRuleViolations 메서드 (아래 코드 참조) 찾을 항복 문을 질식. 그래서 내 질문에 VB.Net에서 어떻게 동등한 할 것입니다?VB.Net을 사용하는 NerdDinner 유효성 검사 질문
네임 스페이스 NerdDinner.Models {
[Bind(Include="Title,Description,EventDate,Address,Country,ContactPhone,Latitude,Longitude")]
public partial class Dinner {
public bool IsHostedBy(string userName) {
return HostedBy.Equals(userName, StringComparison.InvariantCultureIgnoreCase);
}
public bool IsUserRegistered(string userName) {
return RSVPs.Any(r => r.AttendeeName.Equals(userName, StringComparison.InvariantCultureIgnoreCase));
}
public bool IsValid {
get { return (GetRuleViolations().Count() == 0); }
}
public IEnumerable<RuleViolation> GetRuleViolations() {
if (String.IsNullOrEmpty(Title))
yield return new RuleViolation("Title is required", "Title");
if (String.IsNullOrEmpty(Description))
yield return new RuleViolation("Description is required", "Description");
if (String.IsNullOrEmpty(HostedBy))
yield return new RuleViolation("HostedBy is required", "HostedBy");
if (String.IsNullOrEmpty(Address))
yield return new RuleViolation("Address is required", "Address");
if (String.IsNullOrEmpty(Country))
yield return new RuleViolation("Country is required", "Address");
if (String.IsNullOrEmpty(ContactPhone))
yield return new RuleViolation("Phone# is required", "ContactPhone");
if (!PhoneValidator.IsValidNumber(ContactPhone, Country))
yield return new RuleViolation("Phone# does not match country", "ContactPhone");
yield break;
}
partial void OnValidate(ChangeAction action) {
if (!IsValid)
throw new ApplicationException("Rule violations prevent saving");
}
}
}
C#에서이 기능을 사용하지 못하게하는 제한 사항은 무엇입니까? –