reklama

Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Témata - zemla

Stran: [1]
1
Vývoj / GitHub: fork vs. vlastní branch
« kdy: 05. 06. 2019, 22:40:42 »
Dobrý den,

mám v plánu založit si novou odnož produktu, který je pod MIT na githubu.

Jejich produkt se už nevyvíjí, ale sem tam se tam objeví nějaký ten bugfix.

Svoji odnož chci rozšířit o něké ty nové funkcionality.

K tomuto je tedy prosím určen fork? A pokud ano, půjde do něj namergovat nějaký ten bugfix z původní větve ?

Díky.

2
Vývoj / C# a přístup k parametru delegáta
« kdy: 26. 04. 2019, 22:45:32 »
Dobrý den,

řeším následující problém : máme v API search metody, které mohou vracet x tuctů záznamů, proto máme requesty jako jejich parametry odvozeny od bázové třídy řekněme MultipleRequest, která obsahuje jako property index prvního záznamu následujícím po x-tém záznamu: jakési take + skip.

Protože mám za úkol najít nějaký konkrétní záznam splňující něco a protože takových metod máme x na entou, mám snahu napsat si helper.

Něco takového:

Kód: [Vybrat]
public class PaginationHelper<TR>
{
   public delegate Task<TR> SearchMethodDelegate(MultipleRequest request);

   public static async Task<TR> GetResultFromSearchAsync(SearchMethodDelegate task, Func<TR,bool> checker, int paging = 50)
   {
      ...
      var result = await task.Invoke(new MultipleRequest(take, skip)); // !!!!!!!!!
      ...
   }
}

Take a Skip vypočítávám v cyklu, ve kterém je i Invoke.

Problém mám s tím, že nechci volat Invoke s bázovou třídou MultipleRequest, ale s potomkem.

Ale jak se prosím k tomu potomkovi dostat?

3
Ahoj,

potřeboval bych prosím docela pomoct, protože už jsem vyčerpal všechny své pokusy/omyly, co mě napadly.

Kvůli animaci jsem si odvodil z TextBlocku vlastní CustomTextBlock, není na něm nic moc zvláštního, ale vypadá takhle:

Kód: [Vybrat]
    public class CustomTextBlock : TextBlock
    {
        public static readonly RoutedEvent ShowTextEvent =
            EventManager.RegisterRoutedEvent("ShowText", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(CustomTextBlock));

        public event RoutedEventHandler ShowText
        {
            add
            {
                this.AddHandler(ShowTextEvent, value);
            }

            remove
            {
                this.RemoveHandler(ShowTextEvent, value);
            }
        }
    }

v XAMLu mám potom:

Kód: [Vybrat]
        <local:CustomTextBlock x:Name="InfoTextBlock" Text="{Binding InfoTextBlockText, Mode=TwoWay}" Width="411" Height="54" FontSize="36" FontWeight="Normal" Canvas.Left="258" Canvas.Top="265">
            <local:CustomTextBlock.Foreground>
                <SolidColorBrush x:Name="InfoSolidColorBrush" Color="Transparent" />
            </local:CustomTextBlock.Foreground>
            <local:CustomTextBlock.Triggers>
                <EventTrigger RoutedEvent="local:CustomTextBlock.ShowText">
                    <BeginStoryboard>
                        <Storyboard>
                            <ColorAnimation Storyboard.TargetName="InfoSolidColorBrush" Storyboard.TargetProperty="Color" From="GreenYellow" To="Transparent" Duration="0:0:3"/>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </local:CustomTextBlock.Triggers>
        </local:CustomTextBlock>

Je tam trigger, protože tu animaci potřebují zavolat z kódu, ovšem z View na základě co mi na převolání ViewModel vrátí.

A volám to takto:

Kód: [Vybrat]
InfoTextBlock.RaiseEvent(new RoutedEventArgs(CustomTextBlock.ShowTextEvent, this));

Je mi jasné, že když přeteče zásobník, musím tam mít někde cyklickou závislost, jenže ji nevídím.

Proto jsem chtěl poprosit, jestli by se na to někdo z vás mohl podívat svýma očima, třeba je to něco triviálního.

Byl bych vám za to moc vděčný.
Díky za případnou radu.

4
Vývoj / Reflexe u Tasku v C#
« kdy: 14. 03. 2019, 19:51:34 »
Zravíčko,

mám problém. Snažím se v metodě, které předám delegát typu task, přistoupit k parametrům metody, kterou ten task reprezentuje a nevím, jak na to, ani jestli to vůbec jde. Radši ukážu kód.

Kód: [Vybrat]
public class Program
    {
        public async Task<int> ReuseNumber(int a)
        {
            return a;
        }

        public async Task<int> ChangeTaskParams(Func<Task<int>> method)
        {

            // WHAT DO I WRONG ?
            Console.WriteLine(method.Method.GetParameters().GetValue(0));

            return await method.Invoke();
        }

        public void Run()
        {
            ChangeTaskParams(async () => await ReuseNumber(1)).GetAwaiter().GetResult();
        }

        public static void Main(string[] args)
        {
            new Program().Run();

            Console.ReadLine();
        }
    }

Dokázali byste mi prosím někdo poradit?

5
Dobrý den, snažím se vytvořit JukeBox a jelikož se mi nedařilo zachytit eventu MediaEnded po dohrátí písničky, vytáhnul jsem kód do konzolové aplikace, kde se to snad bude ladit líp. Kód je:

Kód: [Vybrat]
using System;
using System.Windows.Media;

namespace MediaPlayerTest
{
    class Program
    {
        static void Main(string[] args)
        {
            new Program().Run();

            Console.ReadLine();
        }

        public void Run()
        {
            var player = new MediaPlayer();
            player.MediaEnded += MediaPlayer_MediaEnded;

            player.Open(new Uri(@"d:\Jukebox\mp3\ROTTROVA MARIE - Reka lasky (CZ 2003)\03 ROTTROVA MARIE - Reka lasky.mp3"));
            player.Play();
        }

        private void MediaPlayer_MediaEnded(object sender, EventArgs e)
        {
            var x = 1;
        }
    }
}

Píseň se přehraje až do konce, ale eventa se neraisne.

Napadá někoho z vás pls čím by to mohlo být? V eventě mám breakpoint.

Díky

Stran: [1]

reklama