0 1 2 3 4 ...8 9 10 11 12 ...17 18 19 20 21
Март съм в сф. Ще се помотам из квартала, като не пише тука.
Той си има.
- Как се виждате след 5 години?
- Назначили сте ми още една маймуна да паса!
Неска бях у фантастико13, купих холандски круши и лук :)
Обикновено съм с бимбиристанеца, сто плюс кила симпатяга, мюсулман :)
Ама утре почива, бимбиристанеца почива и цялото хамалене на мойте крехки плещи пада, дайба тоз несправедлив живот, еххх ако само можех да кодя :)
Зелинския мангал какъвто е воайор със сигурност има поне един диск със снимки и клипчета със секса с козите. Криптиран, разбира се.
Само да не ги е прехвърлил на 2 TB-ата SD карта, че ще е голяма загуба... :)
Намакяти в диварата непоръбена, 100 мангала я плющят, продава се за пари!
там някъде беше мост компютърс едно време, бех си взел пентиум 4 от там
и тука съм бил
Още са там, издавам им фактури без да ги питам за булстат кат идват да си пазаруват :)
Междудругото най-извратения код дето съм писал е еднофайлова дотнет библиотека, пълна чекия но забележителното е че ЦЯЛОТО мислене и кодене се случиха на айфон, не на таблет, на айфон.
Впрочем същината на кода е доста забавна и бая 'програмисти' дето чукат кинти с дотнет не знаят тези неща :)
public IEnumerable<MethodInfo> ExtensionMethods(Type tExtension) {
return StaticMembers(tExtension).
Where(m =>
m.MemberType == MemberTypes.Method &&
m.IsDefined(typeof (ExtensionAttribute), false) &&
((MethodInfo) m).GetParameters().Length > 0
).
Select(m => (MethodInfo) m);
}
public IEnumerable<MethodInfo> ExtensionMethods(Type tExtension, Type tTarget) {
return ExtensionMethods(tExtension).
Where(meth => {
var tExtMethThis = meth.GetParameters()[0].ParameterType;
return CanExtend(tExtMethThis, tTarget);
});
}
public bool CanExtend(Type tExtMethThis, Type tTarget) {
if (tExtMethThis.IsAssignableFrom(tTarget)) {
return true;
} else if (
tExtMethThis.IsGenericType &&
tExtMethThis.ContainsGenericParameters
) {
var tGenExtMethThis = tExtMethThis.GetGenericTypeDefinition();
if (
(tTarget.IsGenericType &&
tGenExtMethThis == tTarget.GetGenericTypeDefinition()) ||
tTarget.GetInterfaces().Any(i =>
i.IsGenericType &&
tGenExtMethThis == i.GetGenericTypeDefinition())
) {
return true;
} else {
var b = tTarget;
while ((b = b.BaseType) != null) {
if (
b.IsGenericType &&
tGenExtMethThis == b.GetGenericTypeDefinition()
) {
return true;
}
}
}
}
return false;
}
Я дай критика и на тоя код колко е неразбираем :)
Мост от години ги заняма, връщали са ме лично.
колкото предния
в живота си съм писал една програма на c#
Тежък е кода, сичкия е неразбираем :)
Междудругото това с цъ шарп на айфона сега мисля че не бих могъл да го повторя, одъртяваме дайба, а тогава го избичих за ден-два с уточняването на тънките ситуации, най-много ми бръкна в мозъка че трябваше да ползвам while цикъл, в код дето сичко си върви със селекти и уеър като у база данни и изведнъж Мада Нейча тънко влиза със задвратник - няма как Ламбич - тука тряба while цикъл, хихихи!
Начи подивех. Ама верно нямаше как и ползвах while :)
Долу май имаше магазин, по ескалаторите. Няма ги на картата.
Хмм, май нацелих болезнена тема... Е колко тъп трябва да е някой да сложи най-ценните си снимки на китайска флашка???
Дано все пак на козоеба още да му става, ще може да възстанови изгубеното. :)
КитаецО, дето не ставал за нищо.
In summary, the code provides a way to retrieve extension methods from a given type and filter them based on whether they can extend a specific target type, taking into account both non-generic and generic scenarios.
This code provides functionality to discover and filter extension methods that can be applied to a specific target type, including support for generic types. Here's a breakdown:
Steps:
Gets all static members of tExtension.
Filters for methods marked with ExtensionAttribute (C# syntax: this parameter).
Ensures methods have at least one parameter (since the first parameter is the extended type).
Returns: All extension methods defined in tExtension.
Steps:
Uses the first method to get all extension methods from tExtension.
Checks if each method's first parameter type (the extended type) is compatible with tTarget using CanExtend.
Direct Compatibility: If tTarget is a subclass/implements tExtMethThis.
Generic Compatibility: Handles cases where:
tExtMethThis is a generic type (e.g., List<T>).
tTarget is a closed generic type (e.g., List<string>) or implements a matching generic interface.
tTarget inherits from a compatible generic base type.
Key Scenarios Supported Inheritance: Extension methods on base types work for derived types.
Interfaces: Extensions for interfaces apply to implementing types.
Generics: Extensions for MyType<T> work for MyType<int> or types inheriting/implementing MyType<T>.
Find all extension methods in StringExtensions that can apply to string var methods = ExtensionMethods(typeof(StringExtensions), typeof(string));
Добре се е ориентирал Ламби на кашоните отрано. Кризите разкриват много добре йерархията на нуждите. Храна,вода, енергия и здраве стават критични, а философи, художници, инфлуенсъри, музиканти, инвестиционни банкери и други чикиджийски професии са долу. Но чакай, то криза няма, тя кризата е измислена от шорош да смуче бедните и да дига цените.
Ква флашка, кви снимки? Само един умрел DVD имам дося, не успях да го прочета, писан е преди 20 години. Таман си мисля да дублирам снимките, щото снощи лаптопът му почина охлаждането. Освен нов вентилатор може да се наложи да правя външна електроника за оборотите, вградената май сгъна. Техниката не е вечна. Още един портативен терабайтов, и архивирам, отново! Сертификатите ми са на сървъра в нета, кискискис. Станах като вас, скумърчета, държа си в нета архивите
Поря макяти отгз фостата, не го мисли!
0 1 2 3 4 ...8 9 10 11 12 ...17 18 19 20 21