小编Lib*_*tal的帖子

C#构造函数 - 设置第二个属性

我有这门课:

public class CalendarData_Day
{
    public DateTime Date { get; set; }
    public DayType TypeOfDay { get; set; }
    public bool Choose { get; set; }

    public CalendarData_Day(DateTime datum) : this(datum, DayType.Normal, true)
    {
    }

    public CalendarData_Day(DateTime datum, DayType typDne) : this(datum, typDne, true)
    {
    }

    public CalendarData_Day(DateTime datum, DayType typDne, bool vybran)
    {
        this.Date = datum;
        this.TypeOfDay = typDne;
        this.Choose = vybran;
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望在第二个构造函数中检查DayType是否是Weekend,如果不是那么发送到Choose true但是false.谁知道我该怎么做?我知道我可以添加到最后一个构造函数如果并检查但它似乎不适合我.我认为有更好的方法,我认为我应该以其他方式做到这一点,或者这是在最后一个构造函数中没问题:

if (TypeOfDay == DayType.Weekend)
    this.Choose = false;
Run Code Online (Sandbox Code Playgroud)

我知道它有效,但我不知道这是正确的方法.

编辑:我很抱歉,我没有解释一切.有两个以上的DayTypes,假设有Holiday,Work,...我希望那个用户可以用第二个构造函数调用类,如果DayType是周末或假日那么选择必须是false但是如果它是Normal或者工作应该是真的,或者用户必须使用最后一个构造函数并将DayType设置为Work并选择为false.这很复杂我很抱歉我应该第一次写这篇文章.

c# constructor class

3
推荐指数
1
解决办法
189
查看次数

如果同一选项多次出现,Getopt :: Long GetOptions会生成错误吗?

我有这个getopt:

GetOptions(  GetOptions ("library=s" => \@libfiles);
    @libfiles = split(/,/,join(',',@libfiles));
     "help" => \$help,
     "input=s" => \$fileordir,
     "pretty-xml:4" => \$pretty
);
Run Code Online (Sandbox Code Playgroud)

是否可以Getopt::Long::GetOptions检测命令行上是否多次提供相同的选项?例如,我希望以下内容生成错误:

perl script.pl --input=something --input=something
Run Code Online (Sandbox Code Playgroud)

谢谢

perl getopt-long

3
推荐指数
1
解决办法
611
查看次数

从JSON Api WinRT反序列化对象

我想在WinRT中反序列化JSON,例如我正在尝试StackExchange Api 2.1.

我有这样的方法:

public static async Task<string> GetJsonString()
        {
            HttpClient client = new HttpClient();
            string url = @"https://api.stackexchange.com/2.1/answers?fromdate=1349913600&order=desc&min=20&sort=votes&site=stackoverflow";
            HttpResponseMessage response = await client.GetAsync(url);
            return await response.Content.ReadAsStringAsync();
        }

        public static async void ParseJson()
        {
            string responseText = await GetJsonString();

            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(JsonResponse));
            JsonResponse root;
            using (MemoryStream stream = new MemoryStream(Encoding.Unicode.GetBytes(responseText)))
            {
                root = serializer.ReadObject(stream) as JsonResponse;
            }
        }
Run Code Online (Sandbox Code Playgroud)

和这些类:

[DataContract]
class Answer
{
    [DataMember(Name = "question_id")]
    public int QuestionId { get; set; }

    [DataMember(Name = "answer_id")]
    public int …
Run Code Online (Sandbox Code Playgroud)

c# serialization json windows-8 windows-runtime

3
推荐指数
1
解决办法
1324
查看次数

将按钮设置为选中状态并更改样式

这是我的实际按钮样式:

<Style x:Key="CategoryButtonStyle" TargetType="{x:Type Button}">
    <Setter Property="HorizontalContentAlignment" Value="Center"/>
    <Setter Property="VerticalContentAlignment" Value="Center"/>
    <Setter Property="Padding" Value="1"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Button}">
                <Grid x:Name="grid">
                    <Path x:Name="TabPath" StrokeThickness="2"
                          Margin="{Binding ElementName=buttonContent, Converter={x:Static c:ContentToMarginConverter.Value}}"
                          Stroke="{StaticResource BorderBrush1}"
                          Fill="{StaticResource TabItemPathBrush}">
                        <Path.Data>
                            <PathGeometry>
                                <PathFigure IsClosed="False" StartPoint="1,0" 
                                            Segments="{Binding ElementName=buttonContent, Converter={x:Static c:ContentToPathConverter.Value}}">
                                </PathFigure>
                            </PathGeometry>
                        </Path.Data>
                        <Path.LayoutTransform>
                            <!-- For some reason  -->
                            <ScaleTransform ScaleY="-1"/>
                        </Path.LayoutTransform>
                    </Path>
                    <Rectangle x:Name="TabItemTopBorder" Height="2" Visibility="Visible"
                               VerticalAlignment="Bottom" Fill="{StaticResource BorderBrush1}"
                               Margin="{Binding ElementName=TabPath, Path=Margin}" />
                    <ContentPresenter x:Name="buttonContent" Margin="10,2,10,2" VerticalAlignment="Center"
                                      TextElement.Foreground="{StaticResource ForegroundBrush}"/>
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsPressed" Value="True">
                        <Setter Property="Fill" TargetName="TabPath"> …
Run Code Online (Sandbox Code Playgroud)

c# wpf styles button visualstatemanager

3
推荐指数
1
解决办法
5924
查看次数

iOS 将 2 个或更多音频文件合并(混合)为 wav 格式

我创建了下面的合并方法(加入、联合,我不确定哪个词是正确的,我想从 2 个或更多音频中制作 1 个音频,而不是一个接一个地播放,而是一次播放每个音频)。作为输入,我有多个 .wav 格式的音频文件,并且我希望输出有 1 个 .wav 格式。

  func merge(audioUrls: [NSURL], resultName : String = "result") {

    let resultNameWithExtension = resultName + ".wav"

    //Create AVMutableComposition Object.This object will hold our multiple AVMutableCompositionTrack.
    let composition = AVMutableComposition()


    //create new file to receive data
    //let documentDirectoryURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first!
    let outputFilePath = NSTemporaryDirectory().stringByAppendingPathComponent(resultNameWithExtension)
    let fileDestinationUrl = NSURL(fileURLWithPath: outputFilePath)
    print(fileDestinationUrl)

    StorageManager.sharedInstance.deleteFileAtPath(NSTemporaryDirectory().stringByAppendingPathComponent(resultNameWithExtension))

    var avAssets: [AVURLAsset] = []
    var assetTracks: [AVAssetTrack] = []
    var timeRanges: [CMTimeRange] = []

    for audioUrl in …
Run Code Online (Sandbox Code Playgroud)

audio ios avmutablecomposition avassetexportsession swift

3
推荐指数
1
解决办法
3365
查看次数

将字符串转换为时间

我有这样的字符串:"0:385"(第一个数字是秒,下一个数字是毫秒),我想在datagridview中使用排序像数字(不像字符串)所以我试图从字符串中生成DateTime但我是不知道这究竟是怎么做到的.我知道我应该使用方法Parse(或ParseExact),但是当我尝试它时,它说"String不被识别为有效的DateTime.".我读了一些关于这方面的文章,但我不确定如何使用IFormatProvider和下一个参数.感谢帮助

c# string format time datetime

2
推荐指数
1
解决办法
8679
查看次数

比较makefile中的两个文件

我需要比较makefile中的两个文件的帮助。我需要这样的东西:

if [cmp $(FILE1) $(FILE2)] !=0; than 
 echo "OK" 
else 
 echo "WRONG" 
fi
Run Code Online (Sandbox Code Playgroud)

但我不确定该怎么做,谢谢

compare makefile

2
推荐指数
1
解决办法
4837
查看次数

解析更好:正则表达式还是linq?

我正在解析网页到Windows Phone 7,我需要知道什么是更好的方法来做到这一点.最重要的是性能.我在imdb的例子中看到作者使用正则表达式,但我不确定如果我使用Html Agility Pack和Linq它不会更好.

Ps:我必须解析网站,而不是我的网站.

c# regex performance windows-phone-7 html-agility-pack

2
推荐指数
1
解决办法
442
查看次数

MVC3将值设置为opera中的textbox类型datetime

我的ASP.NET MVC3应用程序中有datetime输入:

<div class="editor-field">
    @Html.EditorFor(model => model.Article.PublishedDate)
    @Html.ValidationMessageFor(model => model.Article.PublishedDate)
</div>
Run Code Online (Sandbox Code Playgroud)

在Opera中它为日期和时间提供特殊输入,但是当我编辑我的模型时它是空的,我想将它设置为值.在其他浏览器中,它是常规文本框,并且有日期时间设置.由于代码生成的代码是:

<input class="text-box single-line" data-val="true" data-val-required="Publish date is required" id="Article_PublishedDate" name="Article.PublishedDate" type="datetime" value="30.3.2012 10:00:00" data-default-value=""/>
Run Code Online (Sandbox Code Playgroud)

我怎样才能修复它并在Opera中设置日期时间?

asp.net-mvc datetime textbox input asp.net-mvc-3

2
推荐指数
1
解决办法
2689
查看次数

JavaFX在带有控制器的场景构建器中显示视图

我有这个控制器:

package cz.vutbr.feec.bmds.cv2;

import java.awt.Button;
import java.awt.TextField;

import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Slider;

public class TestGuiController {

    private int buttonPressed = 0;
    @FXML
    private Button tlacitko;
    @FXML
    private TextField textovePole;
    @FXML
    private Slider slider;

    public void buttonPressed(ActionEvent e) {
        buttonPressed++;
        textovePole.setText(Integer.toString(buttonPressed));
    }
}
Run Code Online (Sandbox Code Playgroud)

这个fxml:

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>

    <AnchorPane prefHeight="200.0" prefWidth="200.0" xmlns:fx="http://javafx.com/fxml" fx:controller="cz.vutbr.feec.bmds.cv2.TestGuiController">
      <children>
        <Button fx:id="tlacitko" layoutX="30.0" layoutY="40.0" mnemonicParsing="false" onTouchPressed="#buttonPressed" text="Button" />
        <Slider fx:id="slider" layoutX="157.0" layoutY="17.0" orientation="VERTICAL" />
        <TextField fx:id="textovePole" layoutX="14.0" layoutY="89.0" prefWidth="134.0" …
Run Code Online (Sandbox Code Playgroud)

java model-view-controller javafx fxml scenebuilder

2
推荐指数
1
解决办法
2833
查看次数