小编Sam*_*tar的帖子

这是简化继承类的有效方法吗?

我有很多Azure类包含日期字段并通过跟踪进行修改.字段如:

[DisplayName("Created By")]
public string CreatedBy { get; set; }
[DisplayName("Modified By")]
public string ModifiedBy { get; set; }
Run Code Online (Sandbox Code Playgroud)

我想避免重复,所以我正在考虑创建一个类来包含这些如下:

public class TableServiceEntityRowInfo : TableServiceEntity  
{
    [DisplayName("Created By")]
    public string CreatedBy { get; set; }
    [DisplayName("Modified By")]
    public string ModifiedBy { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

对于我的数据类,然后我不想让它们从TableServiceEntity继承,我想将它们设置如下:

public class MyClass : TableServiceEntityRowInfo 
{

}
Run Code Online (Sandbox Code Playgroud)

这是向字段添加其他信息的有效且明智的方法.我在这里问的原因是因为我打算对很多课程这样做,我想确保我做正确的事.

c# azure azure-storage azure-table-storage

7
推荐指数
1
解决办法
165
查看次数

LINQ如何订购集合

我有一个类对象的集合:

Tests
Run Code Online (Sandbox Code Playgroud)

此集合包含许多Test实例:

public class Test {
   public string column1 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想使用LINQ来命令内容Tests并将其放入一个名为的新集合中TestsOrdered.我想按内容订购column1.我想用LINQ做这个,后来我想在订购中添加更多内容.

我怎么能用LINQ做到这一点.

c# linq

7
推荐指数
1
解决办法
4111
查看次数

在C#中调用超级构造函数

我有一些类,如AccountsController,ProductsController等,都继承自BaseController.Unity根据需要设置我的服务.这些类也都需要_sequence服务.因为它是所有类的常见要求,我想在BaseController中对此进行编码.

public class AccountsController : BaseController
{
    public AccountsController(
        IService<Account> accountService) {
        _account = accountService;
    }

public class ProductsController : BaseController
{
    public ProductsController(
        IService<Account> productService) {
        _product = productService;
    }


public class BaseController : Controller
{
    public IService<Account> _account;
    public IService<Product> _product;
    protected ISequenceService _sequence;

    public BaseController(
        ISequenceService sequenceService) {
        _sequence = sequenceService;
    }
Run Code Online (Sandbox Code Playgroud)

但是我怎么能这样做呢?我应该在每个AccountsController和ProductsController的构造函数中设置对BaseController的调用吗?

c# asp.net-mvc unity-container

7
推荐指数
1
解决办法
9596
查看次数

如何编码检查以查看元素是父项的第一个还是最后一个?

我有以下菜单,其中可以包含最多约50个项目和两个链接,用户可以使用这些链接导航到上一个或下一个城市.在这个例子中,我只显示了四个地址链接.

<ul id="menu">
   <li><a href="/City/0101004H">1</a></li>
   <li><a href="/City/0101004I">2</a></li>
   <li><a href="/City/0101004J">3</a></li>
   <li><a href="/City/0101004K">4</a></li>
</ul>

<a id="prev" href="#"><img width="16" height="16" src="/images/prev.png">Prev</a>
<a id="next" href="#"><img width="16" height="16" src="/images/next.png">Next</a>
Run Code Online (Sandbox Code Playgroud)

我在堆栈溢出方面有一些帮助,并提出了以下代码:

小提琴

$("#menu").on('click', 'a[href^="/City"]', function(event) {
   event.preventDefault();
      var prev = $(this).parent().prev().find('a');
      var next = $(this).parent().next().find('a');
      $('#prev').prop('href', jQuery(prev).prop('href')).prop('title', 'City ' + jQuery(prev).text());
      $('#next').prop('href', jQuery(next).prop('href')).prop('title', 'City ' + jQuery(next).text())
});
Run Code Online (Sandbox Code Playgroud)

当我单击其中一个菜单项时,这会将上一个和下一个的href设置为适当的值.它可以工作但不适用于列表中的第一个和最后一个项目.我需要的是这个:

a)当点击第一个项目时,我希望#prev更改为:

<a id="prev" href="#"><img src="/images/noentry.png"></a>
Run Code Online (Sandbox Code Playgroud)

b)当单击最后一项时,我希望#next更改为:

<a id="next" href="#"><img src="/images/noentry.png"></a>
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以做到这一点,而无需添加太多额外的代码?

jquery

7
推荐指数
2
解决办法
191
查看次数

a == null和=== null之间有什么区别?

有人可以通过解释差异来帮助我.根据我的理解,===确实匹配,但与null相比,这意味着什么?

javascript

7
推荐指数
1
解决办法
3775
查看次数

使用LINQ.有两个不同的列表.如何识别不匹配的对象

我有三个班:

public partial class Objective{
    public Objective() {
        this.ObjectiveDetails = new List<ObjectiveDetail>();
    }
    public int ObjectiveId { get; set; }
    public int Number { get; set; }
    public virtual ICollection<ObjectiveDetail> ObjectiveDetails { get; set; }
}
public partial class ObjectiveDetail {
    public ObjectiveDetail() {
        this.SubTopics = new List<SubTopic>();
    }
    public int ObjectiveDetailId { get; set; }
    public int Number { get; set; }
    public string Text { get; set; }
    public virtual ICollection<SubTopic> SubTopics { get; set; }
}
public …
Run Code Online (Sandbox Code Playgroud)

c# linq

7
推荐指数
2
解决办法
1196
查看次数

升级到1.3后,控制器未在Typescript应用程序中定义

我的应用程序中有以下代码:

angular.module('home', [])
    .controller('homeHomeController', HomeHomeController)
    .controller('homeContentController', HomeContentController);
Run Code Online (Sandbox Code Playgroud)

class HomeHomeController {
    static $inject = [
        '$http',
        'examService',
        'stateService',
        'userService'
    ];
    constructor(
        private $http: ng.IHttpService,
        private $es: IExamService,
        private $ss: IStateService,
        private $us: IUserService
        ) {
        var self = this;   
    }
} 
Run Code Online (Sandbox Code Playgroud)

我刚刚升级到AngularJS 1.3,现在我收到此错误:

Error: [ng:areq] Argument 'HomeHomeController' is not a function, got undefined
http://errors.angularjs.org/1.3.0/ng/areq?p0=HomeHomeController&p1=not%20aNaNunction%2C%20got%20undefined
    at http://127.0.0.1:17315/Scripts/angular.js:80:12
    at assertArg (http://127.0.0.1:17315/Scripts/angular.js:1610:11)
    at assertArgFn (http://127.0.0.1:17315/Scripts/angular.js:1620:3)
    at http://127.0.0.1:17315/Scripts/angular.js:8319:9
    at http://127.0.0.1:17315/Scripts/angular.js:7496:34
    at forEach (http://127.0.0.1:17315/Scripts/angular.js:343:20)
    at nodeLinkFn (http://127.0.0.1:17315/Scripts/angular.js:7483:11)
    at compositeLinkFn (http://127.0.0.1:17315/Scripts/angular.js:6991:13)
    at publicLinkFn (http://127.0.0.1:17315/Scripts/angular.js:6870:30)
    at compile …
Run Code Online (Sandbox Code Playgroud)

angularjs typescript

7
推荐指数
1
解决办法
1673
查看次数

1.3.0 rc0之后<select>的ngChange问​​题

我一直在使用1.3的beta版本,现在转移到1.3.1后,我注意到一个问题,通过检查所有早期版本,我看到它似乎已经在1.3.0 rc1中启动了.

我有这样的代码:

<select ng-model="home.modal.topicId"
        ng-change="ctrl.modalTopicChanged()"
        ng-options="item.id as item.name for item in home.modal.option.topics.data"
        ng-required="true">
        <option style="display: none;" value="">Select Topic</option>
</select>
Run Code Online (Sandbox Code Playgroud)

在rc1之前,首次显示表单时未触发 ng-change .现在它被一个未定义的home.modal.topicId解雇了.这对我来说是一个突破性的变化,但在破坏性变化部分没有提到它,我想知道它是否是一个尚未被注意到的错误.

这是生成的堆栈跟踪:

TypeError: Cannot read property 'dataMap' of undefined
    at AdminProblemController.modalTopicChanged (http://127.0.0.1:17315/Content/app/admin/controllers/ProblemController.js:109:114)
    at $parseFunctionCall (http://127.0.0.1:17315/Scripts/angular.js:11387:18)
    at Scope.$get.Scope.$eval (http://127.0.0.1:17315/Scripts/angular.js:13276:28)
    at http://127.0.0.1:17315/Scripts/angular.js:19888:13
    at http://127.0.0.1:17315/Scripts/angular.js:19499:9
    at forEach (http://127.0.0.1:17315/Scripts/angular.js:331:20)
    at $$writeModelToScope (http://127.0.0.1:17315/Scripts/angular.js:19497:5)
    at writeToModelIfNeeded (http://127.0.0.1:17315/Scripts/angular.js:19490:14)
    at http://127.0.0.1:17315/Scripts/angular.js:19484:9
    at validationDone (http://127.0.0.1:17315/Scripts/angular.js:19420:9) 
Run Code Online (Sandbox Code Playgroud)

我在这里注意到的是一个新函数:writeToModelIfNeeded

当我查看更改日志差异时,在检查所有更改和行号时,我找不到提及此功能的任何内容.

我想就此提出一些建议.首先是可以找到导致添加writeToModelIfNeeded的更改,其次是选择框的正确功能.我认为整个想法是只有在定义模型值时才会触发ng-change.

这里参考的是新代码的区域,似乎已经添加了1.3.0 rc.1

**
   * @ngdoc method
   * @name ngModel.NgModelController#$commitViewValue
   *
   * @description …
Run Code Online (Sandbox Code Playgroud)

angularjs

7
推荐指数
1
解决办法
2016
查看次数

使用自定义TableView渲染器时,如何为TableSections设置不同的页脚

我正在使用渲染器允许我在TableView中设置自定义页脚.渲染器有效,但我希望能够为不同的表格部分设置不同的页脚.例如,表格部分0的一个页脚和表格部分1的另一个页脚,一直到表格部分5.

这是我正在使用的XAML:

           <!-- <local:ExtFooterTableView x:Name="tableView" Intent="Settings" HasUnevenRows="True">-->
                <TableView x:Name="tableView" Intent="Settings" HasUnevenRows="True">
                <TableSection Title="Cards1">
                    <ViewCell Height="50">
                        <Label Text="Hello1" />
                    </ViewCell>
                    <ViewCell Height="50">
                        <Label Text="Hello2" />
                    </ViewCell>
                </TableSection>
                <TableSection Title="Cards2">
                    <TextCell Height="50" Text="Hello"></TextCell>
                </TableSection>

                </TableSection>
        <!--    </local:ExtFooterTableView>-->
            </TableView>
Run Code Online (Sandbox Code Playgroud)

这是C#类和渲染器:

public class ExtFooterTableView : TableView
{
    public ExtFooterTableView()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

和:

   using System;
using Japanese;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[assembly: ExportRenderer(typeof(ExtFooterTableView), typeof(Japanese.iOS.ExtFooterTableViewRenderer))]
namespace Japanese.iOS
{
    public class ExtFooterTableViewRenderer : TableViewRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<TableView> e)
        {
            base.OnElementChanged(e);
            if (Control …
Run Code Online (Sandbox Code Playgroud)

xamarin xamarin.forms

7
推荐指数
1
解决办法
313
查看次数

如何使用TabbedPage.ToolbarPlacement ="Bottom"实现TabLayout.IOnTabSelectedListener.OnTabUnselected - Xamarin Forms?

我刚刚用过android:TabbedPage.ToolbarPlacement="Bottom".我曾经有以下代码:

void TabLayout.IOnTabSelectedListener.OnTabUnselected(TabLayout.Tab tab)
{
   var playPage = Element.CurrentPage as NavigationPage;
   if (!(playPage.RootPage is PhrasesFrame))
      return;

   var tabLayout = (TabLayout)ViewGroup.GetChildAt(1);
   var playTab = tabLayout.GetTabAt(4);
   tab.SetText("Play");
   tab.SetIcon(Resource.Drawable.ionicons_2_0_1_play_outline_25);
   App.pauseCard = true;
}
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何实现这一点ToolbarPlacement="Bottom"?我已经实现了两者BottomNavigationView.IOnNavigationItemSelectedListener,BottomNavigationView.IOnNavigationItemReselectedListener但是UnselectedTab如果有的话,找不到任何参考.

编辑:

以前的自定义渲染器使用默认选项卡位置并实现TabLayout:

namespace Japanese.Droid
{
    public class MyTabbedPageRenderer: TabbedPageRenderer, TabLayout.IOnTabSelectedListener
    {
        ViewPager viewPager;
        TabLayout tabLayout;
        bool setup;

        public MyTabbedPageRenderer(Context context): base(context){ }

        protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            // More codes here
        }

        void TabLayout.IOnTabSelectedListener.OnTabReselected(TabLayout.Tab …
Run Code Online (Sandbox Code Playgroud)

xamarin.android xamarin xamarin.forms

7
推荐指数
1
解决办法
552
查看次数