コード例 #1
0
ファイル: ViewModelSpecs.cs プロジェクト: aklefdal/TinyMVVM
        public void assure_its_added()
        {
            var viewModelData = new ViewModelProperty("Username", typeof(string).Name, false);

            When("adding ViewModelData", () =>
                viewModel.AddProperty(viewModelData));

            Then(() =>
                 viewModel.Properties.ShouldContain(viewModelData));
        }
コード例 #2
0
ファイル: ViewModel.cs プロジェクト: aklefdal/TinyMVVM
        public void AddProperty(ViewModelProperty data)
        {
            ThrowExceptionIfNull(data, "data");

            _data.Add(data);
        }
コード例 #3
0
ファイル: Parser.cs プロジェクト: aklefdal/TinyMVVM
        private void ParseViewModelProperties()
        {
            var attributes = new List<string>();
            while (CurrentToken().Kind == Kind.attribute)
            {
                attributes.Add(CurrentToken().Value);
                NextToken();
            }

            var propertyToken = CurrentToken();
            var nameToken = NextToken();
            var asToken = NextToken();
            var typeToken = NextToken();

            if (nameToken.Kind != Kind.Name)
                throw new InvalidSyntaxException("Name must be specified when using the 'property' keyword");

            if (asToken.Kind != Kind.AS ||
                typeToken.Kind != Kind.Name)
                throw new InvalidSyntaxException("Type must be specified when using the 'property' keyword");

            //Name
            var name = nameToken.Value;

            //Type
            var type = typeToken.Value;

            //IsObservable
            var isObservable = (propertyToken == Token.OProperty) ? true : false;

            var viewModelProperty = new ViewModelProperty(name, type, isObservable);
            viewModelProperty.Attributes.AddRange(attributes);

            semanticModel.AddProperty(viewModelProperty);
        }
コード例 #4
0
ファイル: ViewModel.cs プロジェクト: aklefdal/TinyMVVM
        public void AddProperty(ViewModelProperty data)
        {
            ThrowExceptionIfNull(data, "data");

            _data.Add(data);
        }